С версии PHP 5.5 появилась очень интересная фича: распаковка вложенных массивов с помощью list(). Дословно на русском описание этой фичи звучит как возможность обхода массива массивов с распаковкой вложенного массива в переменные цикла, передав list() в качестве значения. Что всё это значит? Оказывается больше не нужно писать так:

foreach($users as $user) {
    list($name, $password, $id) = $user;
    ...
}

Теперь можно писать так:

foreach($users as list($name, $password, $id) ) {
    ...
}

А если вам и этого мало, то даже так:

foreach($users as [$name, $password, $id]) {
    ...
}

Ну а извращенцы могут по-старинке писать так:

while(list($name, $password, $id) = each($users) ) {
  ...
}

Однако,анонимные источники подсказывают, что трюк с foreach отрабатывает в 8 раз быстрее. Мир больше никогда не будет прежним.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *