В PHP вы можете получить доступ к символам в строке с синтаксисом массива:
$foo = 'abc';
echo $foo[2]; // echos 'c'
Недавно я слишком долго отлаживал, почему $foo['id']
не дал мне ожидаемого результата. Оказалось, что $foo
была строкой, а не ассоциативным массивом. Похоже, что PHP приводил 'id'
к целому числу 0
без уведомления:
$foo = 'abc';
echo $foo['id']; // echos 'a', without notice
PHP выдает хорошее предупреждение, когда вы делаете это с реальными массивами:
$foo = array('a', 'b', 'c');
$echo $foo['id']; // Notice: Undefined index: id in php shell code on line 1
Как я могу заставить (или почему не могу) PHP бросить уведомление "Неопределенный индекс" вместо приведения строкового индекса к 0?