array_shift()とarray_merge()を組み合わせて指定した数だけ配列の要素をずらしてくれる関数です。
1 2 3 4 5 6 7 8 |
function shilt_index($array, $index) { return $array = array_merge( array_slice($array, $index, count($array)-$index), array_slice($array, 0, $index) ); } |
引数の$arrayはシフトさせたい配列, $indexはシフトさせたい数になります。
返り値はシフトさせた配列です。
・$index=0 の場合
1 2 3 4 |
$input = array("a", "b", "c", "d", "e"); var_dump(shilt_index($input, 0)); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
array(5) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" [3]=> string(1) "d" [4]=> string(1) "e" } |
・$index=1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
array(5) { [0]=> string(1) "b" [1]=> string(1) "c" [2]=> string(1) "d" [3]=> string(1) "e" [4]=> string(1) "a" } |
・$index=2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
array(5) { [0]=> string(1) "c" [1]=> string(1) "d" [2]=> string(1) "e" [3]=> string(1) "a" [4]=> string(1) "b" } |
・$index=4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
array(5) { [0]=> string(1) "e" [1]=> string(1) "a" [2]=> string(1) "b" [3]=> string(1) "c" [4]=> string(1) "d" } |