Как вычесть массивы?

178
08 февраля 2018, 17:54

Есть два массива, к примеру:

[0=>52, 1=>45, 2=>58]

и

[38=>47, 78=>68, 45=>85]

Нужно из второго массива вычесть элементы, ключи которых присутствуют в значениях первого массива. В данном примере это третий элемент массива, ключ которого - 45.

Answer 1

Если под вычесть вы понимаете "удалить", то можно просто перебрать элементы первого, и проверить наличие ключей во втором.

$first = [52, 45, 58];
$second = [38=>47, 78=>68, 45=>85];
foreach($first as $f){
    unset($second[$f]);
}

второй вариант, взять расхождение массивов по ключам, первый массив для этого надо "перевернуть"

$first = array_flip($first);
$second = array_diff_key($second, $first);

и далее насколько фантазии хватит.

READ ALSO
Задать размер PDF

Задать размер PDF

Подскажите, пожалуйста, как задать размер (А4, с отступами 0, 15, 2, 0 (см) от границы) pdf в DOMPDF, используя set_Paper?

141
Contact form 7 обработка checkbox до отправки формы

Contact form 7 обработка checkbox до отправки формы

Есть интересная задачка

176
Почему возникает ошибка Getting unknown property и странное поведение GridView yii2

Почему возникает ошибка Getting unknown property и странное поведение GridView yii2

Есть представление в котором создается GriedvView

145
c++.что делает этот код?

c++.что делает этот код?

Здравствуйте,есть данный фрагмент кода,до конца не могу понять,что он выполняетмогли бы объяснить,что он делает? и есть ли возможность его...

145