簡體   English   中英

列表理解(python)和數組理解(php)?

[英]List comprehension (python)and array comprehension (php)?

>>> lst = ['dingo', 'wombat', 'wallaby']
>>> [w.title() for w in lst]
['Dingo', 'Wombat', 'Wallaby']
>>> 

在python中有一些簡單的方法可以解決列表理解問題。

在php中使用array('dingo', 'wombat', 'wallaby');

是否有數組理解或任何內置函數,或通常循環它?

編輯

function addCaps( Iterator $it )
{
    echo ucfirst( $it->current() ) . '<br />';
    return true;
}

/*** an array of aussies ***/
$array = array( 'dingo', 'wombat', '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', array('dingo', 'wombat', 'wallaby'));
print_r($arr);

輸出:

Array
(
    [0] => Dingo
    [1] => Wombat
    [2] => Wallaby
)

您沒有PHP的數組解析。 你有像array_walk()這樣的函數類似於python的map()函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM