我正在尝试使用array_slice从数组中获取最后2个值,无论数组中有多少值。
如果我有这样的数组:
Array ( [0] => orange [1] => red [2] => green [3] => blue [4] => yellow )
就像这样:
Array ( [0] => blue [1] => yellow )
如何编写array_slice()
以从每个中获取蓝色和黄色?
这是我尝试的内容:
$arr = array_slice($colors,2,-1);
$blue = $arr[0];
$yellow = $arr[1];
答案 0 :(得分:2)
如何编写array_slice()以获得蓝色和黄色?
$arr = array_slice($colors, -2);
答案 1 :(得分:1)
您也可以通过以下方式获得它:
$arr = array_slice($colors, count($colors) - 2, 2)
答案 2 :(得分:0)
另一种方法,如果你想避免循环和array_slice()
(由于某种原因):
$cCount = count($colors);
$arr = [$colors[$cCount-2], $colors[$cCount-1]];
如果在数组上使用count()
,您将始终获得数组中元素的总数,因此如果数组中有3个元素,count()
将返回3,但最高key实际上是2(因为数组从0开始),所以你可以分别通过count() - 1
和count() - 2
得到最后2个元素。
在上面的例子中,我得到了倒数第二个元素,然后是最后一个元素。