Php 请注意,试图获取非数组变量的索引时出现警报
我想知道为什么当我试图获取非数组变量的索引时,PHP不显示“通知”警报。 这是我用来测试的代码:Php 请注意,试图获取非数组变量的索引时出现警报,php,Php,我想知道为什么当我试图获取非数组变量的索引时,PHP不显示“通知”警报。 这是我用来测试的代码: echo ">>> Empty array\n"; $foo = array(); var_dump($foo['var']); echo "\n>>> Boolean\n"; $foo = false; var_dump($foo['var']); echo "\n>>> Null\n"; $foo = null; var_dump($fo
echo ">>> Empty array\n";
$foo = array();
var_dump($foo['var']);
echo "\n>>> Boolean\n";
$foo = false;
var_dump($foo['var']);
echo "\n>>> Null\n";
$foo = null;
var_dump($foo['var']);
echo "\n>>> Int\n";
$foo = 1;
var_dump($foo['var']);
输出:
>>> Empty array
PHP Notice: Undefined index: var in /var/www/test.php on line 3
NULL
>>> Boolean
NULL
>>> Null
NULL
>>> Int
NULL
您正在尝试使用数组解引用(访问数组的结果)。根据的实现,我们可以看到这只针对三种类型实现:数组、字符串和对象。默认的功能是PHP只返回未定义的变量
例如,如果您对字符串尝试相同的技巧,则有一个实现用于该字符串的数组解引用,因此您也将得到一个错误:
<?php
echo "\n>>> String\n";
$foo = "test";
var_dump($foo['var']);
假设它将数组转换为字符串,将键转换为整数,此时它是一个有效的PHP操作。
>>> String
Warning: Illegal string offset 'var' on line 4