首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP是否有与Python的列表理解语法等效的语法?

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

Stack Overflow用户
提问于 2009-08-12 15:26:08
回答 2查看 20.6K关注 0票数 81

Python在语法上具有甜蜜的列表理解:

代码语言:javascript
复制
S = [x**2 for x in range(10)]
print S;
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

在PHP中,我需要做一些循环:

代码语言:javascript
复制
$output = array();
$Nums = range(0,9);

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

要获得以下信息:

阵列( => 0 1 => 1 2 => 4 3 => 9 4 => 16 5 => 25 6 => 36 7 => 49 8 => 64 9 => 81 )

在PHP中有没有类似的列表理解语法?有没有办法使用PHP 5.3中的任何新功能来做到这一点?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-08-12 15:32:03

也许是这样的?

代码语言:javascript
复制
$out=array_map(function($x) {return $x*$x;}, range(0, 9))

这在PHP语言的5.3+中是有效的,在旧版本中,你必须为array_map单独定义回调

代码语言:javascript
复制
function sq($x) {return $x*$x;}
$out=array_map('sq', range(0, 9));
票数 94
EN

Stack Overflow用户

发布于 2009-08-12 15:32:45

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1266911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档