我有这个数组
$immagini = array('1.jpg','2.jpg','3.jpg','4.jpg');
如果我让var_dump($ immagini)返回此
array(4) {
[0]=> string(5) "1.jpg"
[1]=> string(5) "2.jpg"
[2]=> string(5) "3.jpg"
[3]=> string(5) "4.jpg"
}
现在如何以其他方式订购它们,我喜欢从索引[2]开始....所以我想要这个结果
array(4) {
[2]=> string(5) "3.jpg"
[3]=> string(5) "4.jpg"
[0]=> string(5) "1.jpg"
[1]=> string(5) "2.jpg"
}
我想从索引中返回完整列表
答案 0 :(得分:2)
您不能使用var_dump来实现这一目标。您需要自己的循环来从自定义起始索引进行打印。从起始索引开始,并在每次迭代时将循环迭代器增加1,直到循环数组时间为止。如果要访问数组元素,请使用loopIterator mod length of array
答案 1 :(得分:1)
您可以使用移动所有索引的比较函数对它们进行排序< 2到列表的末尾。例如,这里将进行这样的比较:
function cmp($a,$b) {
$a = ($a < 2) ? $a + 1000 : $a;
$b = ($b < 2) ? $b + 1000 : $b;
return $a - $b;
}
这样称呼:
$immagini = array('1.jpg','2.jpg','3.jpg','4.jpg');
uksort($immagini, 'cmp');
var_dump($immagini);
提供以下输出:
array(4) {
[2]=>
string(5) "3.jpg"
[3]=>
string(5) "4.jpg"
[0]=>
string(5) "1.jpg"
[1]=>
string(5) "2.jpg"
}