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 1 => 1 2 => 4 3 => 9 4 => 16 5 => 25 6 => 36 7 => 49 8 => 64 9 => 81 )
在PHP中有没有类似的列表理解语法?有没有办法使用PHP 5.3中的任何新功能来做到这一点?
谢谢!
发布于 2009-08-12 15:32:03
也许是这样的?
$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));
发布于 2009-08-12 15:32:45
https://stackoverflow.com/questions/1266911
复制相似问题