Почему доступ к индексу массива по логическому значению не вызывает каких-либо ошибок?
Когда я пытаюсь получить доступ к массиву по ключу, которого нет в этом массиве, php вызовет ошибку уведомления «undefined index». Когда я пытаюсь сделать то же самое для строк, появляется предупреждение «Недопустимое смещение строки». Это ожидаемое поведение, и я знаю, как с этим бороться.
Но когда я попробовал это на булевых или целочисленных значениях, ничего не происходит:
ini_set('display_errors', 1);
error_reporting(E_ALL);
$var = false;
var_dump($var['test']);
Я ожидаю увидеть некоторые сообщения об ошибках, но$var['test']
просто молча устанавливает в NULL.
Так почему же php разрешает доступ к логическому значению через ключ массива без указания того, что вы делаете что-то не так? Дырочная фраза «доступ к логическому значению через ключ массива» звучит для меня ужасно странно, но вы можете сделать это в php.