向左旋转数组元素(将第一个元素移动到最后一个元素并重新编制索引)
是否可以在PHP中轻松“旋转”数组?
像这样: 1, 2, 3, 4 -> 2, 3 ,4 ,1
有没有某种内置的PHP函数?
是否可以在PHP中轻松“旋转”数组?
像这样: 1, 2, 3, 4 -> 2, 3 ,4 ,1
有没有某种内置的PHP函数?
$numbers = array(1,2,3,4);
array_push($numbers, array_shift($numbers));
print_r($numbers);
输出
Array
(
[0] => 2
[1] => 3
[2] => 4
[3] => 1
)
当前大多数答案都是正确的,但前提是您不关心您的指数:
$arr = array('foo' => 'bar', 'baz' => 'qux', 'wibble' => 'wobble');
array_push($arr, array_shift($arr));
print_r($arr);
输出:
Array
(
[baz] => qux
[wibble] => wobble
[0] => bar
)
要保留索引,您可以执行如下操作:
$arr = array('foo' => 'bar', 'baz' => 'qux', 'wibble' => 'wobble');
$keys = array_keys($arr);
$val = $arr[$keys[0]];
unset($arr[$keys[0]]);
$arr[$keys[0]] = $val;
print_r($arr);
输出:
Array
(
[baz] => qux
[wibble] => wobble
[foo] => bar
)
也许有人可以比我的四行方法更简洁地进行旋转,但这无论如何都有效。