2016-11-01 2 views
0

Я проверяю, идентичны ли два массива, и хотя я знаю, что они есть, мои условные возвращает false.PHP идентичные массивы return false on check

Вот два массива: http://pastebin.com/knekiW67

Вот код:

$stored_items = (Array1 in Pastebin link) 
$new_items = (Array2 in Pastebin link) 

if($stored_items === $new_items) { 
    return true; 
} else { 
    return false; 
} 

Я даже проверил два массива с помощью https://www.diffchecker.com/ и он отвечает, что они идентичны.

Кто-нибудь знает, почему он возвращает ложь?

+0

Я на самом деле в конечном итоге с помощью Serialize() на двух массивах перед сравнением их, которые работали. –

ответ

0

=== если не работает для массива (только строки и Int)

для проверки массива нужно использовать http://php.net/manual/ru/function.array-diff-ukey.php со специальным обратным вызовом

+0

Привет, спасибо за ответ. Я не уверен, что понимаю, что вы имеете в виду? –

+0

Эй, '===' оператор не работает для массива –

+0

Его массивы вложены в несколько уровней в глубину. 'array_diff' не рекурсивно. – Barmar