web-dev-qa-db-ja.com

PHP配列の最初のインデックスを削除し、インデックスを再作成します

配列のような配列があります

(
    [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
        )

)
19

Array_spliceを使用。

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 
)
 
24
Epeli

使用できます

array_shift($array)

array_shiftのドキュメント

36
User123

配列はいくつでもインデックスをカットできます

$newArray = array_splice($oldArray, $startIndex, $lengthToSlice);
2
Mahbub Alam

配列の最初のインデックスを削除するarray_shift()を使用してそれを実行できます。その後、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
Vishal Solanki
$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
)
0
pr1nc3