Я обнаружил странное поведение, когда использовал функцию PHP in_array()
. У меня есть такой массив:
$arr = [TRUE, "some string", "something else"];
Теперь, если я хочу проверить, находится ли "test"
в массиве, его явно нет, но in_array()
все еще возвращает TRUE, почему это так?
$result = in_array("test", $arr);
var_dump($result); //<b>Output: bool(true)</b>
То же самое происходит при использовании array_search()
:
$result = array_search("test", $arr);
var_dump($result); //<b>Output: int(0)</b>
Возможно, я подумал, что значение TRUE в массиве автоматически заставляло функцию возвращать TRUE для каждого результата без проверки остальной части массива, но я не смог найти никакой документации, которая бы предлагала эту очень странную функциональность. *