Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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解释这个数组声明吗->$a{0}=";“价值”;_Php_Arrays_Syntax_Error Handling_Output - Fatal编程技术网

有人能用PHP解释这个数组声明吗->$a{0}=";“价值”;

有人能用PHP解释这个数组声明吗->$a{0}=";“价值”;,php,arrays,syntax,error-handling,output,Php,Arrays,Syntax,Error Handling,Output,嗨,我使用PHP已经有几年了 这些是我知道的PHP中声明数组的方法 $arr = array(); $arr = array(1,2); $arr[0] = 1; $arr[] = 1; 在一个示例中,我看到了这种语法,并运行了代码,它是有效的: $a{0} = "value"; 但以下代码未运行: $a{} = "value"; 它给出了: 分析错误:语法错误,意外“}” 如何解释这一点? 方括号和花括号都可以互换使用 访问数组元素(例如$array[42]和$array{

嗨,我使用PHP已经有几年了

这些是我知道的PHP中声明数组的方法

$arr    = array();
$arr    = array(1,2);
$arr[0] = 1;
$arr[]  = 1;
在一个示例中,我看到了这种语法,并运行了代码,它是有效的:

$a{0} = "value";
但以下代码未运行:

$a{} = "value";
它给出了:

分析错误:语法错误,意外“}”

如何解释这一点?

方括号和花括号都可以互换使用 访问数组元素(例如$array[42]和$array{42})都可以 同样的事情)

{}
不仅仅用于访问,您甚至可以在传递密钥的情况下将元素附加到数组中

$arr{34} = 'some data'; // <--- Valid
但是


$arr{}='some data';// 它与方括号相同,但更接近Perl语法


您只能通过这种方式访问现有元素。正如你已经指出的,
$a{}=1不起作用。

但是$a{}=“value”是无效的,如何解释引用上面的代码片段,“可交换地访问数组元素”${}没有访问。实际上没有什么需要解释的,这是显示访问元素
34
并将字符串“
some data
”分配给它的代码。(恕我直言,这也是你错的地方。){}只能用于访问$arr[]=1;=>附加解释在什么意义上?查看错误消息:
Parse error:syntax error,unexpected'}
-如果我可以问一下,您不明白其中具体的哪一部分?这是一个语法错误。此外,不建议使用数组方括号访问。
Array
(
    [34] => some data
)
$arr{} = 'some data';// <--- This is not a valid and it throws an error.