数组_walk中的匿名函数在PHP5.2上抛出错误

数组_walk中的匿名函数在PHP5.2上抛出错误,php,php-5.3,php-5.2,Php,Php 5.3,Php 5.2,下面是数组_walk函数,它在PHP5.2上抛出错误。 我在后台有5.2版本,在本地和开发上有5.3版本。代码在本地和开发php版本上运行良好 foreach($favTracks as $track_id) { array_walk($tracks, function ($t, $k) use ($track_id, &$return) { if($t['track_code'] == $track_id) { $trackDetails = varia

下面是数组_walk函数,它在PHP5.2上抛出错误。 我在后台有5.2版本,在本地和开发上有5.3版本。代码在本地和开发php版本上运行良好

foreach($favTracks as $track_id) {
array_walk($tracks, function ($t, $k) use ($track_id, &$return) {    
    if($t['track_code'] == $track_id) {
        $trackDetails = variable_get('drf_admin_top_track_'. $k . '_news_list', array());
        $return[$track_id]  = array('articles' => 
        get_fav_details($trackDetails), 
        'trackName' => isset($t['title']) ? $t['title'] : "" );
    }        
});    
}

我已经通过执行以下代码解决了这个问题

function getTopTrackWalk($t, $k, $trackArr) {    
  if($t['track_code'] == $trackArr[0]) {
  $trackDetails = variable_get('drf_admin_top_track_'. $k . '_news_list', array());
  $trackArr[1][$trackArr[0]]  = array('articles' => 
  get_fav_details($trackDetails), 
'trackName' => isset($t['title']) ? $t['title'] : "" );
}           
}
array_walk($tracks, "getTopTrackWalk", array($track_id, &$return));  

好你应该在Staging上升级你的php版本。如果你发布了你得到的实际错误,这将帮助我们解释你的问题。匿名函数直到5.3才被添加。您需要使用
create_function()
才能与5.2兼容