Когда я пытаюсь получить доступ к массиву с помощью ключа, которого нет в этом массиве, php будет вызывать ошибку уведомления об ошибке «неопределенный индекс». Когда я пытаюсь сделать то же самое в строках, предупреждение «Недопустимое смещение строки» возникает. Это ожидаемое поведение, и я знаю, как с этим бороться.Почему обращение к индексу массива по логическому значению не вызывает каких-либо ошибок?
Но когда я попробовал это на логических или целых значений ничего не происходит:
ini_set('display_errors', 1);
error_reporting(E_ALL);
$var = false;
var_dump($var['test']);
Я ожидаю увидеть некоторые сообщения об ошибках, но $var['test']
просто молча устанавливает в NULL.
Почему php разрешает доступ к логическому значению с помощью ключа массива без каких-либо указаний на то, что вы делаете что-то неправильно? Фраза «доступ к логическому значению через массив ключей» звучит ужасно странно для меня, но вы можете сделать это в php.
которое сообщение об ошибке Вам понравилось бы? – 2014-09-09 00:26:30
@ Dagon Я ожидал «неопределенного индекса». На самом деле не имеет значения, какую ошибку я бы хотел. Мне просто интересно, почему вообще нет сообщения об ошибке. –
На самом деле я протестировал это, '$ var = 123;' это происходит и на целых числах – Ghost