从数组中取出最后两个元素,并放置在该数组的开头


Take the two last element from array and deplace in begin of that array

我有一个数组

Array ( [0] => elem0 [1] => elem1 [2] => elem2 [3] => elem3 [4] => elem4 )

我想从数组中取出最后两个元素,并将其放在数组的开头。

获取:

Array ( [0] => elem3 [1] => elem4 [2] => elem0 [3] => elem1 [4] => elem2 )

在PHP中。

编辑

我发现:

$pkeys= Array ( [0] => elem0 [1] => elem1 [2] => elem2 [3] => elem3 [4] => elem4 );
$output = array_slice($pkeys, -2, 2);
array_splice($pkeys, -2, 2);
$pkeys=array_merge($output,$pkeys);   
print_r ($pkeys);

结果:

 Array ( [0] => elem3 [1] => elem4 [2] => elem0 [3] => elem1 [4] => elem2 )

没事!

使用array_pop()array_unshift()

示例:

$stack = array("orange", "banana", "apple", "raspberry");
$last_element = array_pop($stack);
array_unshift($stack, $last_element);
print_r($stack);

PHP有许多数组函数。花点时间浏览一下。

很多解决方案都可以做到这一点,这里有一种可能性:

array_unshift($yourArray,$yourArray[count($yourArray)-2],$yourArray[count($yourArray)-1]);
array_pop($yourArray);
array_pop($yourArray);