БлогNot. PHP: циклический сдвиг массива

PHP: циклический сдвиг массива

То есть, из (1,2,3,4) при циклическом сдвиге влево мы получим (2,3,4,1), а если сдвиг выполнялся вправо, то (4,1,2,3).

Не нужно изобретать велосипед и переписывать элементы "вручную", все нужные функции в PHP уже есть, соответственно, если массив имеет только числовые ключи (индексы элементов) или ключи не имеют для нас значения, то проблему решить совсем просто, вот функции, сдвигающие массив циклически влево и вправо на 1 элемент. Массив передаётся по ссылке, так что функция изменяет исходный массив-аргумент и не возвращает значений.

<?php
function shift_in_left (&$arr) {
 $item = array_shift($arr);
 array_push ($arr,$item);
}

function shift_in_right (&$arr) {
 $item = array_pop($arr);
 array_unshift ($arr,$item);
}

$arr = array(1, 2, 3, 4);
shift_in_left ($arr);
print_r($arr); //сдвинуть влево и показать
shift_in_right ($arr); //вернуть как было
shift_in_right ($arr);
print_r($arr); //сдвинуть вправо и показать
?>

14.02.2018, 12:32 [6922 просмотра]


теги: программирование php

К этой статье пока нет комментариев, Ваш будет первым