来看一个特别的实验
$arr=array('a','b','c');
var_dump(isset($arr[0][0])); // true
print_r($arr[0][0]); //string:a
print_r($arr[1][0]); //string:b
没错,$arr命名是一维数组上面代码却返回true
原因:
还记得php中的字符串可以用数组的形式进行读取操作的吗?
$str = 'abcdefg';
echo $str[0];// a
echo $str[4];// e
值得注意的是,php中字符串的数据结构不是数组,而是提供了一个方便的操作而已
上面的实验中
$arr[0][0]在被php解析的过程是这样的:
$arr[0] 指向的是字符串 'a' 然后对字符串进行操作 相当于 $str='a'; $str[0]