是否有一种干净的方法来使用PHP的`list()`跳过*数组索引?

时间:2011-01-25 00:07:05

标签: php

假设我有一个返回像这样的数组的函数......

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

我只想要索引1和2,我希望它们作为局部变量。我不在乎0。

我能做到......

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

......但显然非常难看。

我尝试将NULL放在那里,但我得到了范围解析错误。

使用PHP list() 跳过数组索引是否有一种干净的方式?

2 个答案:

答案 0 :(得分:25)

是的,不要填充那个参数,这是完全有效的:

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

(另见Example 1 in the manual

答案 1 :(得分:4)

为了另一个单行:

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

Demo.

然后会有更多的娱乐性:

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

Demo.