Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数组映射PHP5.2的替代方案_Php_Runtime Error_Php 5.2_Array Map - Fatal编程技术网

数组映射PHP5.2的替代方案

数组映射PHP5.2的替代方案,php,runtime-error,php-5.2,array-map,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中工作吗?PHP5.2上的array\u map()没有问题 问题出在

有点不对劲,我怀疑这台服务器上的PHP版本是5.2;代码以前在5.6上运行,没有任何缺陷

我已经调试到下面的代码,正在崩溃。但是,我没有收到任何错误消息

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

有人能帮我重做这部分代码,让它在5.2中工作吗?

PHP5.2上的
array\u map()
没有问题

问题出在您的代码中:它使用了,但它们是在PHP5.3中引入的(请参阅文档页面底部的Changelog部分)

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

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

但是,如果可能,最好将PHP解释器升级到7.0或5.6版。5年多以前。

你能解释一下什么工作不正常吗?我只是在取消注释此代码时出现了500个内部错误@首先,请检查如何使用。您还可以查看日志……问题不在于
array\u map
,而是5.2中没有匿名函数。您可以尝试使用
create_函数
,也可以尝试停止使用过时的PHP版本(如果可能的话)。虽然在5.2.PHP 5.2上运行为5.3+设计的代码时,您可能会遇到更多的问题?认真地你知道那有多老吗?该版本的PHP在2009年被取代。在5.2和当前版本之间,功能有许多重大变化,包括对默认行为的一些重大变化。如果您正在PHP5.6中编写高质量的代码,那么它在5.2中成功运行的可能性几乎为零。为了在5.2中成功工作,您必须放弃几乎所有当前的最佳实践编程标准。更不用说5.2中所有已知的安全漏洞;你的网站一上线就会不安全。这是一个很好的答案。但我真的希望OP升级,而不是试图使用你给他的代码解决方案。在他的应用程序真正运行之前,他很有可能会进行比这更多的代码更改,而且现在仍然运行PHP5.2真的没有任何借口,尤其是对于新代码。(如果你有一个无法升级的旧应用程序,你可以原谅,但即使如此,运行这种旧软件的安全问题和兼容性问题应该足以促使你现在升级)