помогите выдает ошибку Undefined offset: 2

195
10 марта 2022, 11:00

у меня проверяется значение двух разных массивов и если они совпадают то они удаляются

for($i=0;$i<=max(array_keys($total_info_dec));$i++){
                $qwe=$total_info[$i]->user_id;
                $qwe3=$user_chek_dec_3[$i];//ошибка Undefined offset: 2
               if($qwe==$qwe3)
                   unset($total_info[$i]);

            }
Answer 1

max(array_keys($total_info_dec)); это что то типа взять ключи и максимальный ключ. Короче не подходит, ибо может буть ключи типа 0,1,4,5,6,7 и for 7 раз пройдет. По этому $i >= count($array). но пойдем дальше. Заменим for на foreach а лучше array_filter заюзаем

$result = array_filter($total_info, function ($e) use ($total_info_dec) {
    // далее просто ищем текущее значение в массиве dec если есть значит false 
    // и он не попадет в результат, если нет значит true 
    if (array_search($e, $total_info_dec) !== false) {
       return false;
    } else {
       return true;
    }
    // многие заметили что можно еще легче сделать тоесть вернуть результат выражения
    // return array_search($e, $total_info_dec) === false;
});

судя по вашему примеру и что цикл идет по одному массиву, потом берет значение из другого и сравнивает с третьим :-) Надо подниматься выше по коду и решать проблему в корне.

READ ALSO
Работа с двумя базами в Laravel

Работа с двумя базами в Laravel

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

98
Коды стран alpha2 и ISO в Symfony 4

Коды стран alpha2 и ISO в Symfony 4

Нужно сопоставление двухбуквенного кода страны и цифрового, нашел класс Symfony\Component\Intl\Countries но там только двухбуквенный, есть ли в symfony 4 такое?...

218
Ассоциативный массив php7

Ассоциативный массив php7

Есть вложенный массив и в каждой части этого массива есть значение "speed"Нужно добавить сразу всем елементам с этим значением + 20

142
Помогите разобраться

Помогите разобраться

Всем, приветПомогите пожалуйста разобраться с корзиной, а именно с изменением количества товара через инпут

197