Понимание списка (python) и понимание массива (php)? - PullRequest
4 голосов
/ 14 апреля 2011
>>> 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();
}

Смотри код не так просто, как я ожидал?

Ответы [ 3 ]

8 голосов
/ 14 апреля 2011

Вы можете использовать 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
)

Редактировать: пример кода ОП

$arr = array_map('ucwords', array('dingo', 'wombat', 'wallaby'));
print_r($arr);

Выход:

Array
(
    [0] => Dingo
    [1] => Wombat
    [2] => Wallaby
)
2 голосов
/ 14 апреля 2011
2 голосов
/ 14 апреля 2011

У вас нет массивов для PHP. У вас есть такие функции, как array_walk(), подобные функции map() в python.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...