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