Я включил все отчеты об ошибках, чтобы очистить некоторые неопределенные индексы, просто чтобы сделать приложение, которое я делаю, более аккуратным.Я заметил странное поведение:
Допустим, у меня есть следующий массив: $a = array('test' => false, 'foo' => 'bar')
Если я наберу if ($a['nothere'])
, я правильно получу уведомление Undefined index: nothere
.
Однако, если я сделаю if ($a['test']['nothere'])
, я не получу уведомление.Совсем.Несмотря на то, что nothere
определенно не является индексом в $a['test']
.
Теперь, если я сделаю $a['test'] = array('baz' => 'poof')
, то при запуске if ($a['test']['nothere'])
выдаст уведомление.
Не проверяет ли неопределенная проверка индексов индексы в пустом массиве?Это на PHP 5.2.8.