作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有这个数组:
$myArray = array(a, b, c, d, e, f, g);
我有一个开始指示器,$startpos
,它的可能值可以是从 0 到 myArray 的元素数之间的任何值。
因此,如果 $startpos = 0
,所需的打印结果将是 a, b, c, d, e, f, g
如果 $startpos = 2
,所需的打印结果将是 c, d, e, f, g, a, b
如果 $startpos = 5
,所需的打印结果将是 f, g, a, b, c, d, e
我一直在通过 SO 搜索 php 内置或自定义函数(类似问题 Treat an array as circular array when selecting elements - PHP )并查看 http://www.w3schools.com/php/php_ref_array.asp但我没有得到想要的结果。任何人都可以给我一个建议吗?
最佳答案
您可以将 array_slice
函数与 array_merge
函数一起使用,如下所示:
$myArray = array('a', 'b', 'c', 'd', 'e', 'f', 'g');
$startpos = 2;
$output = array_merge(
array_slice($myArray,$startpos),
array_slice($myArray, 0, $startpos)
);
var_dump($output);
输出:
array(7) {
[0]=>
string(1) "c"
[1]=>
string(1) "d"
[2]=>
string(1) "e"
[3]=>
string(1) "f"
[4]=>
string(1) "g"
[5]=>
string(1) "a"
[6]=>
string(1) "b"
}
关于PHP循环遍历数组从n到n-1个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40842018/
我是一名优秀的程序员,十分优秀!