Чат PHP-разработчиков
Циклический сдвиг влево на 1

Циклический сдвиг влево на 1

В этом задании нужно написать функцию для циклического сдвига массива влево. Циклический сдвиг влево на 1 преобразует массив

A0, A1, A2, A3

в

A1, A2, A3, A0

То есть он сдвигает элементы массива влево на один элемент, а первый элемент перемещает в конец массива.

Его также можно показать с помощью изображения:
Циклический сдвиг влево на единицу

Ваша задача - написать функцию, которая будет принимать на вход единственный аргумент - массив. Она будет выполнять циклический сдвиг влево на 1 и возвращать получившийся массив.

Примеры аргумента функции и значений, которые она должна вернуть:

[1, 2, 3, 4]
[2, 3, 4, 1]

['a', 'b']
['b', 'a']

['kek']
['kek']

Решение

Присоединяйтесь к нам в ВКонтакте и в Facebook, чтобы не пропустить новые уроки. А также вступайте в наш чат PHP-разработчиков в Telegram.
Читайте также
Комментарии (5)


den
function arrayPushFirstItem(array $arr): array 
{
    $last = array_shift($arr);
    array_push($arr, $last);
    return $arr;
}
Pavel.Ivatsko
<?php
function shift(array $shift) {
    array_unshift($shift, array_pop($shift));
    var_dump($shift);
}
dnldcode
function arrayShift(array $arr): array
{
    for ($i = 0; $i < count($arr) - 1; $i++) {
        $tmp = $arr[$i];
        $arr[$i] = $arr[$i + 1];
        $arr[$i + 1] = $tmp;
    }
    return $arr;
}
ilyaOrlov

Вариант с циклом

function shift(array $i) {
    $a = $i[0];
    for ($b = 0; $b <= count($i) - 1; $b ++) { 
        $i[$b] = $i[$b + 1];
    }
    $i[count($i) - 1] = $a;
    return $i;
}

Без цикла

function shift(array $i) {
    $b = array_shift($i);
    $i[count($i)] = $b;
    return $i;
}
tmv.nika@mail.ru

<?php

function leftShift (&$array)
{
$first = array_shift ($array);
$array[] = $first;
}
$array = [0,1,2,3,4,5,6];
leftShift ($array);
var_dump($array);

Популярное за сутки
Сейчас читают
Логические задачи с собеседований