來看一個特別的實驗
$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]