5
Array (
    [REF_DETAILS] = Array
        (
            [0] = Array
                (
                    [ID] => 1231312
                    [USER] => USER
                )

            [1] = Array
                (
                    [TID] => 2754042         
                    [USER] = USER
                )
            [1] = Array
                (
                    [TID] => 534535         
                    [USER] = USER
                )

        )

    [TOTAL_COUNT] = 31
)

上記のような配列出力があり、配列から1つの要素を削除してから、再度0からインデックスを再作成したい.PHPでarray_valueを試しましたが、これを行った後、[REF_DETAIL]を0で削除し、TOTAL_COUNTを1として削除しています、phpで解決策を提供してください

4

3 に答える 3

5

array_splice( php docs )を使用すると、自動的にインデックスが再作成されます。

array_splice($array['REF_DETAILS'], 1, 1)

于 2012-09-01T07:54:01.840 に答える
4

試す

unset($array['REF_DETAILS'][1]);
$array['REF_DETAILS'] = array_values($array['REF_DETAILS']);
于 2012-09-01T07:42:52.990 に答える
1

array_shiftを使用する

$arr = Array (
    'REF_DETAILS' => Array(
        0 => Array(
            'ID' => '> 1231312',
            'USER' => '> USER',
        ),
        1 => Array(
            'TID' => '> 2754042         ',
            'USER' => 'USER',
        ),
        2 => Array(
            'TID' => '> 534535         ',
            'USER' => 'USER',
        ),
    ),
    'TOTAL_COUNT' => 31,
);

array_shift($arr['REF_DETAILS']);
print_r($arr);

出力:

Array
(
    [REF_DETAILS] => Array
        (
            [0] => Array
                (
                    [TID] => > 2754042
                    [USER] => USER
                )

            [1] => Array
                (
                    [TID] => > 534535
                    [USER] => USER
                )

        )

    [TOTAL_COUNT] => 31
)
于 2012-09-01T07:59:45.793 に答える