列表理解python和数组理解php?

问题描述

|
>>> lst = [\'dingo\',\'wombat\',\'wallaby\']
>>> [w.title() for w in lst]
[\'Dingo\',\'Wombat\',\'Wallaby\']
>>> 
在python中,有简单的方法可以处理列表推导。 用
array(\'dingo\',\'wallaby\');
PHP中呢? 是否存在数组理解或任何内置函数,或通常在其上循环? 编辑
function addCaps( Iterator $it )
{
    echo ucfirst( $it->current() ) . \'<br />\';
    return true;
}

/*** an array of aussies ***/
$array = array( \'dingo\',\'wallaby\' );

try
{
    $it = new ArrayIterator( $array );
    iterator_apply( $it,\'addCaps\',array($it) );
}
catch(Exception $e)
{
    /*** echo the error message ***/
    echo $e->getMessage();
}
看起来代码不太像我预期的那样简单?     

解决方法

您可以将
array_map()
与匿名函数一起使用(闭包仅适用于PHP 5.3+)。
$arr = array_map(function($el) { return $el[0]; },array(\'dingo\',\'wombat\',\'wallaby\'));
print_r($arr);
输出量
Array
(
    [0] => d
    [1] => w
    [2] => w
)
编辑:OP \的示例代码
$arr = array_map(\'ucwords\',\'wallaby\'));
print_r($arr);
输出:
Array
(
    [0] => Dingo
    [1] => Wombat
    [2] => Wallaby
)
    ,您没有对PHP的数组理解。您确实具有类似于ѭ9的函数,类似于9的python函数。     ,
array_map()
array_filter()