PHP: «вращать» массив? - PullRequest
       26

PHP: «вращать» массив?

16 голосов
/ 09 апреля 2011

возможно ли легко "вращать" массив в PHP?

Как это: 1, 2, 3, 4 -> 2, 3, 4, 1

Есть ли какая-то встроенная функция PHP для этого?

Ответы [ 13 ]

0 голосов
/ 19 апреля 2015
$daynamesArray = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
array_push($daynamesArray, array_shift($daynamesArray)); //shift by one
array_push($daynamesArray, array_shift($daynamesArray)); //shift by two
print_r($daynamesArray);

Выход начинается в «среду»:

Array ( [0] => Wednesday [1] => Thursday [2] => Friday [3] => Saturday [4] => Sunday [5] => Monday [6] => Tuesday 
0 голосов
/ 09 апреля 2011

Нет.Проверьте документацию для array_shift и связанных с ней функций для некоторых инструментов, которые вы можете использовать, чтобы написать один.В комментариях к этой странице может быть даже реализована функция array_rotate.

Также стоит прочитать функции массива, перечисленные на левой боковой панели, чтобы получить полное представление о том, какие функции массива доступны вPHP.

0 голосов
/ 09 апреля 2011

Логика состоит в том, чтобы поменять местами элементы.Алгоритм может выглядеть как -

 for i = 0 to arrayLength - 1
    swap( array[i], array[i+1] )     // Now array[i] has array[i+1] value and 
                                     // array[i+1] has array[i] value.
...