PHP函数 - 订单数组

时间:2015-10-24 21:22:30

标签: php

在PHP中存在一个每次循环都会改变顺序的函数吗?

I used: array_unshift() but it doesn't do the right job

示例:

  1. 1234(第1行)
  2. 4123(第2行)
  3. 3412(第3行)
  4. 2341(第4行)

2 个答案:

答案 0 :(得分:1)

使用array_pop弹出并从数组末尾获取元素,并array_unshift将其添加到数组的开头,然后重复$input次迭代的过程。 / p>

$input = 5;

$digits = range(1, $input);
for ($i=0; $i<$input; $i++) {
    echo implode('', $digits), "\n";
    array_unshift($digits, array_pop($digits));
}

Demo

答案 1 :(得分:0)

我不确定我是否理解你是对的,但你可以尝试以下方法:

$data = str_split('12345');
$n = 4;
for($i = 0; $i < $n; $i++) {
    echo implode('', $data).'<br />'; //This is for demonstrating purposes
    array_unshift($data, array_pop($data));
}

结果:

12345
51234
45123
34512