У меня есть следующий код:
$data = array(); // prep array
$data['aardvark'] = true;
print_r($data); // output array
echo "\n";
var_dump(in_array('zebra', $data));
Вывод выглядит следующим образом:
Array
(
[aardvark] => 1
)
bool(true)
Несмотря на то, что зебра
явно отсутствует в массиве. Похоже, это связано с системой свободных типов PHP. (bool) 'zebra'
равно true
, а есть true
в массиве, поэтому in_array
возвращает истину?
Думаю, я вижу логику, но она ошибочна. Это ошибка PHP?
Ура.