php严格标准:只有变量应该在“使用”中通过引用传递

时间:2013-08-12 17:33:44

标签: standards php-5.3 strict

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

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

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

但是代码按照我的预期工作..任何人都可以告诉我如何解决这个问题

1 个答案:

答案 0 :(得分:0)

这里http://php.net/manual/en/language.references.pass.php表示“函数调用上没有引用符号 - 仅在函数定义上。”尝试删除'&'从你的函数调用代码,看看是否删除了消息。

--- ---编辑

在这里查看此帖子"Strict Standards: Only variables should be passed by reference" error

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

$consoldatedCities=array();

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

array_walk_recursive($StateCityHash, $callbackFcn);