2014-03-03 50 views
0

我在PHP 5此功能:PHP 5代码PHP不工作4

function myPHPFunction($shows) { 

     foreach($shows as &$show) { 
         $showData = $this->Api->getID(null, $show->showId, false); 
         $show->Id = $showData->Id; 
     } 
     return $shows; 
} 

在$显示阵列具有空ID,我可以用一个API调用来获取ID,当我返回$显示在最后,ID字段被填充。如果我这个代码迁移到PHP 4:

function myPHPFunction($shows) { 

     foreach($shows as $show) { 
         $showData = $this->Api->getID(null, $show->showId, false); 
         $show->Id = $showData->Id; 
     } 
     return $shows; 
} 

的$显示阵列仍然有一个空的id字段,当我返回的。它有什么用& $因为&不PHP 4

+2

'的foreach($显示为$密钥=> $显示){$显示[$键] - >编号= $ showData->标识; }' –

回答

1

通过引用传递可用PHP之后才起作用4.0.4

有一个函数调用无符号 - 仅限于功能 的定义。单独的函数定义足以通过引用正确地传递参数 。从PHP 5.3.0开始,当您在foo(& $ a);中使用& 时,您将收到警告 ,声称“不需要通过呼叫时传递”。而且从PHP 5.4.0开始,通话时间通过引用被删除,因此使用它会引发致命错误 。

Source