|
|
|
|
|
для: Igorek
(28.11.2013 в 13:18)
| | Да, забавно =)
Хам он, что я еще могу сказать =) | |
|
|
|
|
|
|
|
для: MHz
(28.11.2013 в 18:36)
| | Речь о другом | |
|
|
|
|
|
|
|
для: Igorek
(27.11.2013 в 15:39)
| | В документации, даже на русском, написано:
Попытка доступа к неопределенному ключу в массиве - это то же самое, что и попытка доступа к любой другой неопределенной переменной: будет сгенерирована ошибка уровня E_NOTICE, и результат будет NULL. | |
|
|
|
|
|
|
|
для: Igorek
(28.11.2013 в 14:47)
| | Не обольщайтесь, зарезервирует за собою и молча подставит свое значение. | |
|
|
|
|
|
|
|
для: confirm
(28.11.2013 в 13:56)
| | Всегда в таких случаях php предупреждает:
igorek@md:~/temp$ cat ttt.php
<?php
error_reporting(E_ALL);
$b = array('key'=>1);
echo $b[key];
igorek@md:~/temp$ php ttt.php
PHP Notice: Use of undefined constant key - assumed 'key' in /home/igorek/temp/ttt.php on line 5
Notice: Use of undefined constant key - assumed 'key' in /home/igorek/temp/ttt.php on line 5
1igorek@md:~/temp$
|
| |
|
|
|
|
|
|
|
для: Igorek
(28.11.2013 в 13:47)
| | Ничего он не выдаст, даже не смотря на то, что key слово зарезервированное в РНР.
Это к тому, что указывать имя ключа без кавычек (строковое значение), это плохая привычка, однако РНР смолчит, поковыряется в области констант, и не найдя таковой изменит вашу ошибку сам - поймет, что это строка, действительное имя ключа, и найдет таковой. Но разработчики предупреждают, что так делать нельзя, ибо ошибки "писателя" РНР будет исправлять ровно до тех пор, пока имя ключа, который пользователь необдуманно ввел как константу, не будет зарезервировано в РНР. И тогда последствия могут быть не те, которые ожидаются, и РНР извещать об этом не будет. | |
|
|
|
|
|
|
|
для: confirm
(28.11.2013 в 13:23)
| | ну, скажем, что выдаст. А к чему этот пример? | |
|
|
|
|
|
|
|
для: Igorek
(28.11.2013 в 13:18)
| | А угадайте, выдаст ли вам РНР сообщение об этом:
<?
$b = array('key'=>1);
echo $b[key];
|
| |
|
|
|
|
|
|
|
для: Sfinks
(28.11.2013 в 09:20)
| | Пробовали?
<?php
$a = false;
$b = array();
$a['key'];
$b['key'];
|
угадайте где нотис выпадет? ) | |
|
|
|
|
|
|
|
для: Igorek
(27.11.2013 в 15:39)
| | Notice он обязательно выдаст. Нужно только включить вывод нотисов. В начале скрипта допишите:
<?
ini_set('display_errors', 1);
error_reporting(E_ALL);
|
| |
|
|
|
|