开发者社区> 问答> 正文

PHP是否具有与Python的列表理解语法等效的功能?

Python在语法上具有甜美的列表理解能力:

S = [x**2 for x in range(10)] print S; [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 在PHP中,我需要做一些循环:

$output = array(); $Nums = range(0,9);

foreach ($Nums as $num) { $out[] = $num*=$num; } print_r($out); 要得到:

数组([0] => 0 [1] => 1 [2] => 4 [3] => 9 [4] => 16 [5] => 25 [6] => 36 [7] => 49 [8] => 64 [9] => 81)

反正有没有在PHP中获得类似的列表理解语法?无论如何,PHP 5.3的任何新功能都可以做到吗?

谢谢! 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 20:42:03 409 0
1 条回答
写回答
取消 提交回答
  • 也许是这样的吗?

    $out=array_map(function($x) {return $x*$x;}, range(0, 9)) 这将在PHP 5.3+中运行,在较旧的版本中,您必须分别为array_map定义回调

    function sq($x) {return $x*$x;} $out=array_map('sq', range(0, 9));

    2020-02-08 20:42:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载