array_map PHP 5.2的替代方案

时间:2016-07-26 13:51:14

标签: php runtime-error php-5.2 array-map

出了点问题,我怀疑它是我的PHP版本,在这台服务器上是5.2;代码在5.6之前运行,没有任何缺陷......

我已将其调试到以下代码中。但是,我没有收到任何错误消息..

    $standard = array_map( function( $item ) {
        return $item['standard_resolution']->url;
    }, $images );

任何人都可以帮我重做这段代码,以便在5.2中使用吗?

1 个答案:

答案 0 :(得分:6)

PHP 5.2上的array_map()没有任何问题。

问题在于您的代码:它使用anonymous functions但它们是在PHP 5.3中引入的(请参阅文档页面底部的更改日志部分)。

为了在PHP 5.2(或更早版本)上运行此代码,您必须使用create_function()函数来创建匿名PHP函数:

 $standard = array_map(
     create_function('$item', 'return $item["standard_resolution"]->url;'),
     $images
 );

但是,如果可能的话,将PHP解释器升级到7.0或5.6版本要好得多。 PHP 5.2 is dead and buried超过5年前。