php - syntax error, unexpected T_DOUBLE_ARROW
本问题已经有最佳答案,请猛点这里访问。
我怎样才能消除这个错误??
1 | Parse error: syntax error, unexpected T_DOUBLE_ARROW in /var/www/core/restvt.api.php on line 35 |
PHP代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | $datax = Array(); foreach ($inis as $key => $data){ if ($data=="mem"){ $str = number_format($ARRAY[(array_search($data.':',$ARRAY)+2)]/1024,0,',','.')." MB [".number_format(($ARRAY[(array_search($data.':',$ARRAY)+2)]/$ARRAY[(array_search($data.':',$ARRAY)+1)])*100,0,',','.')." % ]"; array_push($datax,"mem"=>$str); //error here, why? }else{ array_push($datax,$data=>$ARRAY[(array_search($data.':',$ARRAY)+1)]); } } $jsonr = json_encode($datax); |
为了你的帮助…
我不喜欢看到人们使用数组推动-我知道这是合法的。在这种情况下,不能将
1 | $datax['mem'] = $str; |
手册:http://php.net/manual/en/function.array-push.php
edit
如果坚持使用
1 2 |
该错误实际上是:
unexpected '=>' (T_DOUBLE_ARROW)
这意味着php不需要这些字符
您试图以一种非预期的方式使用该函数,因此当您执行PHP不允许的操作时,PHP会抛出一个错误。
因此,您不能按照自己的意愿使用这个函数,因此需要以不同的方式来处理它。这将很好地工作-在数组中附加一个新值(在本例中为
1 | $datax['mem'] = $str; |
您的数组
If you use array_push() to add one element to the array it's better to use $array[] = because in that way there is no overhead of calling a function.