0

在工作时我遇到了这个烦人的消息

Strict Standards: Only variables should be passed by reference in G:\xampp\htdocs\MyProject\ZendSkeletonApplication\module\Admission\src\Admission\Controller\AdmissionController.php on line 107

我的代码

$consoldatedCities='';

array_walk_recursive($StateCityHash, function($cityName,$cityId) use(&$consoldatedCities){$consoldatedCities[$cityId] = $cityName; }); // line 107

这是将多维数组转换为简单数组

但是代码按我的预期工作..谁能告诉我如何解决这个问题

4

1 回答 1

0

这里http://php.net/manual/en/language.references.pass.php它说“函数调用没有参考符号 - 仅在函数定义上。” 尝试从那里的函数调用代码中删除“&”,看看是否消除了该消息。

- -编辑 - -

在此处查看此线程“严格标准:仅应通过引用传递变量”错误

您可以尝试将回调函数保存到变量中,然后再将其传递给数组 walk 函数:

$consoldatedCities=array();

$callbackFcn= 
   function($cityName,$cityId) use(&$consoldatedCities)
   {
      $consoldatedCities[$cityId] = $cityName; 
   };

array_walk_recursive($StateCityHash, $callbackFcn);
于 2013-08-12T17:49:09.467 回答