Есть ли простой способ * пропустить * индекс массива с помощью PHP `list()`?

Скажем, у меня есть функция, которая возвращает такой массив...

array(
    0 => 'jpg',
    1 => 400,
    2 => 500
);

Я хочу только индексы 1 и 2, и я хочу, чтобы они были локальными переменными. Мне все равно 0.

Я мог бы сделать...

list($throwaway, $width, $height) = getImageDetails($imagePath);
unset($throwaway);

... но, очевидно, это очень уродливо.

Я попытался разместить там NULL, но получил ошибку разрешения области.

Есть ли простой способ пропустить индекс массива с помощью PHP list()?

Ответ 1

Да, не заполняйте этот аргумент, это совершенно верно:

list(, $width, $height) = getImageDetails($imagePath);

(см. также Пример 1 в руководстве)

Ответ 2

Для другого однострочного:

list($width, $height) = array_slice(getImageDetails($imagePath), 1, 2);

Демо-версия

Тогда есть несколько более интересное:

list($height, $width) = array_reverse(getImageDetails($imagePath));

Демоверсия