PHP удаляет первый индекс массива и переиндексирует - PullRequest
18 голосов
/ 09 июня 2010

У меня есть массив как Массив

(
    [0] => A
    [2] => B
    [4] => C
    [6] => D
)

Я хочу удалить первый элемент, а затем переиндексировать массив, чтобы получить вывод

(
    [0] => B
    [1] => C
    [2] => D
)

Какую функцию PHP мне нужно использовать?


Обновление

входной массив

Array
(
    [0] => Array
        (
            [0] => Some Unwanted text
            [1] => You crazyy
        )

    [2] => Array
        (
            [0] => My belowed text
            [1] => You crazyy
        )

    [10] => Array
        (
            [0] => My loved quote
            [1] => You crazyy
        )

)

И вывод должен быть как

Array
(
    [0] => Array
        (
            [0] => My belowed text
            [1] => You crazyy
        )

    [1] => Array
        (
            [0] => My loved quote
            [1] => You crazyy
        )

)

Ответы [ 5 ]

35 голосов
/ 09 июня 2010

Вы можете использовать

array_shift($array)

Документация для array_shift

24 голосов
/ 09 июня 2010

С массивом_сплайс.

http://www.php.net/manual/en/function.array-splice.php

php > print_r($input);
Array
(
    [0] => A
    [2] => B
    [4] => C
    [6] => D
)
php > array_splice($input, 0, 1);
php > print_r($input);
Array
(
    [0] => B
    [1] => C
    [2] => D
)

2 голосов
/ 26 июля 2017

мы можем сделать это с помощью array_shift(), который удалит 1-й индекс массива, и после этого используйте array_values(), который будет переиндексировать значения массива, как я не получил из ответа @ User123, попробуйте ниже единицы:

<?php
    $array = array(
                0 => "A",
                2 => "B",
                4 => "C",
                6 => "D"
            );
    array_shift($array);
    $array = array_values($array);
    echo "<pre>";
    print_r($array);

Вывод: проверьте вывод здесь https://eval.in/837709

Array
    (
        [0] => B
        [1] => C
        [2] => D
    )

То же самое для вашего обновленного входного массива

<?php
    $array = array(
                    0 => array(
                            0 => "Some Unwanted text",
                            1 => "You crazyy"
                        ),

                    2 => array(
                            0 => "My belowed text",
                            1 => "You crazyy"
                        ),

                    10 => array(
                            0 => "My loved quote",
                            1 => "You crazyy"
                        )

                );
    array_shift($array);
    $array = array_values($array);
    echo "<pre>";
    print_r($array);

Вывод: проверьте вывод здесь https://eval.in/837711

Array
(
    [0] => Array
        (
            [0] => My belowed text
            [1] => You crazyy
        )

    [1] => Array
        (
            [0] => My loved quote
            [1] => You crazyy
        )

)
2 голосов
/ 26 июля 2017

Вы можете вырезать массив столько раз, сколько хотите индекс

$newArray = array_splice($oldArray, $startIndex, $lengthToSlice);
0 голосов
/ 30 ноября 2017
$array=array(
0 => 'A',
2 => 'B',
4 => 'C',
6 => 'D'
);

unset($array[0]);
$array = array_values($array);
print_r($array);

Это также еще одно решение этой проблемы с использованием unset

Вывод:

Array
(
    [0] => B
    [1] => C
    [2] => D
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...