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中的新特性可以完成呢?
谢谢
也许像这样?
$out=array_map(function($x) {return $x*$x;}, range(0, 9))
这将在PHP 5.3+中工作,在旧版本中,您必须为
function sq($x) {return $x*$x;}
$out=array_map('sq', range(0, 9));
PHP 5.5可能支持列表理解-参见邮件列表公告:
和进一步讨论: