Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 请注意,试图获取非数组变量的索引时出现警报_Php - Fatal编程技术网

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

我想知道为什么当我试图获取非数组变量的索引时,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($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