Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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_Scope - Fatal编程技术网

Php 数组\推送到引用变量导致语法错误

Php 数组\推送到引用变量导致语法错误,php,scope,Php,Scope,我做PHP已经有一段时间了;但是,一些我认为曾经有用的东西似乎不适用于PHP7 $list = array (); while ( ($data = fgetcsv($handle) ) !== FALSE ) { $row = array (); $row[0] = 1; array_push(&$list,$row); } 由于“Parse error:syntax error,unexpected'&',这似乎失败了。但是,如果我从$list数组中去掉&的话,由于作用

我做PHP已经有一段时间了;但是,一些我认为曾经有用的东西似乎不适用于PHP7

$list = array ();
while ( ($data = fgetcsv($handle) ) !== FALSE ) {
  $row = array ();
  $row[0] = 1;
  array_push(&$list,$row);
}

由于“Parse error:syntax error,unexpected'&',这似乎失败了。但是,如果我从$list数组中去掉&的话,由于作用域的原因,$row数组将不会在其中。在PHP7中,如何处理这一点发生了变化吗?

如果您试图推送对
$row
的引用,它应该是:

$list[] = &$row;

引用语法不能用于函数调用,只能用于赋值。分配给一个数组,后跟
[]
相当于
array\u push()

如果您试图推送对
$row
的引用,则它应该是:

$list[] = &$row;

引用语法不能用于函数调用,只能用于赋值。分配给一个数组,后跟
[]
相当于
array\u push()

尝试更改!==到!=。布尔比较不需要额外的“=”。示例中不应该存在范围问题,可能还有其他问题。不需要
&
。一旦你创建了一个引用变量,你就可以正常使用它了。去掉&off,然后调试脚本。调用时间传递引用在PHP5.4(iirc)中被删除了。听起来好像很长时间了。试着改变一下!==到!=。布尔比较不需要额外的“=”。示例中不应该存在范围问题,可能还有其他问题。不需要
&
。一旦你创建了一个引用变量,你就可以正常使用它了。去掉&off,然后调试脚本。调用时间传递引用在PHP5.4(iirc)中被删除了。听起来好像很长时间了。