PHP, забавное поведение при попытке взять элемент массива

29 ноября, 2013

Посмотрим будут ли ошибки если пытаться получать элемент массива переменной с различными значениями:

igor@iad2:~$ php -a
Interactive shell
php > $a = false;
php > var_dump($a['abc']);
NULL
php > $a = 1;
php > var_dump($a['abc']);
NULL
php > $a = 10;
php > var_dump($a['abc']);
NULL
php > $a = '10';
php > var_dump($a['abc']);
string(1) "1"
php > $a = array();
php > var_dump($a['abc']);
PHP Notice:  Undefined index: abc in php shell code on line 1
NULL
php > $a = null;
php > var_dump($a['abc']);
NULL
php > $a = new StdClass();;
php > var_dump($a['abc']);
PHP Fatal error:  Cannot use object of type stdClass as array in php shell code on line 1
igor@iad2:~$

Идея в том, что нужно всегда проверять переменную на is_array() или !empty(), прежде чем брать у неё элемент массива

Оставить комментарий

© 2010 - 2024 Ядоблог. Ничего не защищено.
Powered by Лаборатория Яда. Написать Яду