PHP:“旋转"一个数组? [英] PHP: 'rotate' an array?

查看:57
本文介绍了PHP:“旋转"一个数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在 PHP 中轻松旋转"数组?

is it possible to easily 'rotate' an array in PHP ?

像这样:1, 2, 3, 4 -> 2, 3 ,4 ,1

Like this: 1, 2, 3, 4 -> 2, 3 ,4 ,1

是否有某种内置的 PHP 函数用于此?

Is there some kind of built-in PHP function for this?

推荐答案

当前的大多数答案都是正确的,但前提是您不关心索引:

Most of the current answers are correct, but only if you don't care about your indices:

$arr = array('foo' => 'bar', 'baz' => 'qux', 'wibble' => 'wobble');
array_push($arr, array_shift($arr));
print_r($arr);

输出:

Array
(
    [baz] => qux
    [wibble] => wobble
    [0] => bar
)

要保留索引,您可以执行以下操作:

To preserve your indices you can do something like:

$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
)

也许有人可以比我的四行方法更简洁地进行轮换,但这无论如何都有效.

Perhaps someone can do the rotation more succinctly than my four-line method, but this works anyway.

这篇关于PHP:“旋转"一个数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆