как я могу сравнить значения массива со значениями подмассива - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь получить разницу между двумя массивами У меня есть один большой массив с подмассивом и маленький простой массив. Я хочу получить разницу от большого массива.

Я использую это, чтобы получить различия между двумя массивами, но работа с подмассивом - это нечто другое. $ array3 = array_diff ($ bigArray, $ smallArray);

$smallArray = Array
(
    [0] => 2  (how i compare this values)
    [1] => 3  (how i compare this values)
)

$bigArray = Array
(
    [0] => Array
        (
            [g_id] => 2  (with this value)
            [g_nume] => Arad I Betel
        )

    [1] => Array
        (
            [g_id] => 3  (with this value)
            [g_nume] => Arad IV Agape
        )

    [2] => Array
        (
            [g_id] => 4  (with this value)
            [g_nume] => Frumuseni
        )

    [3] => Array
        (
            [g_id] => 7  (with this value)
            [g_nume] => Cuvin
        )
)

И результат будет таким:

Array
    (
        [0] => Array
            (
                [g_id] => 4  (with this value)
                [g_nume] => Frumuseni
            )

        [1] => Array
            (
                [g_id] => 7  (with this value)
                [g_nume] => Cuvin
            )
    )

1 Ответ

0 голосов
/ 30 октября 2018
<?php

$disard_ids = [
    '2', '3'
];

$items = 
[
    [
        'id'=>'1'
    ],
    [
        'id'=>'2'
    ],
    [
        'id'=>'3'
    ],
    [
        'id'=>'4'
    ]
];

foreach ($items as $item) {
    if(array_search($item['id'], $discard_ids) === false) {
        $result[] = $item;
    }
}

var_export($result);

Выход:

array (
    0 => 
    array (
    'id' => '1',
    ),
    1 => 
    array (
    'id' => '4',
    ),
)
...