PHP проверяет наличие данных в массиве и предотвращает добавление данных

Я хочу добавить массив в массив массива. Затем выполните проверку существования предыдущего добавленного массива. Вот как я делаю проверку.

for ($x = 0; $x <= 10; $x++){
$data = array(
'order_id' => $invoice->order_id,
);

$datas = array();
// this is the array contains array I create to
// let me check whether $data exist in it.

foreach ($datas as $value){

if ($value['order_id']==$data['order_id']){
//if the $data already exist in $datas
print "ok";
}

$datas = array_push($datas,$data);
// push $data to $datas for the next checking of existing of $data,
// that means, next time if same order id exist, it will be found in
// the above checking.
}

Тем не менее, код, кажется, не работает, как это сделать?

Сообщение об ошибке:

Invalid argument supplied for foreach()
array_push() expects parameter 1 to be array, null given

-2

Решение

В вашем коде есть несколько ошибок.

  1. $datas пуст (комментарий mwweb)
  2. foreach пропустить }

Я бы посоветовал вам использовать ассоциативный массив, чтобы проверить, является ли ваш заказ частью данных:

$datas[$data['order_id']] = $data;

тогда вы можете проверить это с isset($datas[$data['order_id']])

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector