Страницы

Поиск по вопросам

вторник, 28 января 2020 г.

Как удалить одинаковые элементы 1 массива из 2 массива.

#массивы #php


$array = array();

        $arr1 = array('эл 1','эл 2','эл 3');
        $arr1 = array('эл 4','эл 1','эл 6');

            foreach ($arr1 as $el1) {
                foreach ($arr2 as $el2) {
                    if ($el1 != $el2) {
                        array_push ($array, $el1);
                    }
                }
            }

Пробовал этот код - но он работает. Возможно, есть ли такая функция, которая удаляет
одинаковые элементы 1 массива из 2 массива? То есть нужно прогнать массив, с проверкой
второго массива. И если этого элемента во 2ом массифе нет - закидывать в общий массив.    


Ответы

Ответ 1



есть функция array_diff - Вычислить расхождение массивов. Думаю это то что надо

Ответ 2



UPD $arr_1 = array('1', '2', '3', '10'); $arr_2 = array('4', '1', '6', '10', '2', '17', '46'); foreach($arr_1 as $name => $value) { if(!in_array($value, $arr_2)) { array_push($arr_2, $value); } $array = array($arr_2); } print_r($array);

Ответ 3



$arr = array(); $arr1 = array('эл 1','эл 2','эл 3'); $arr2 = array('эл 4','эл 1','эл 6'); for($i = 0; $i < count($arr1); $i++) { for($j = 0; $j < count($arr2); $j++) { if($arr1[$i] == $arr2[$j]) continue 2; } array_push($arr, $arr1[$i]); } print_r($arr);

Ответ 4



array_diff , array_intersect

Комментариев нет:

Отправить комментарий