web-dev-qa-db-ja.com

PHP配列のインデックスを再作成しますか?

私はいくつかのインデックスを設定解除しなければならなかった配列を持っているので、今では次のようになります

$myarray [0] a->1
         [1] a-7 b->3
         [3] a-8 b->6
         [4] a-3 b->2

ご覧のように、[2]が欠落しているので、インデックスをリセットして[0]-[3]を表示するだけです。

133
MrWhddite333

array_values を使用します。

$myarray = array_values($myarray);
277
Alex Turpin
$myarray = array_values($myarray);

array_values

93
Alfwed

array_valuesは仕事をします:

$myArray  = array_values($myArray);

また、他のいくつかのphp関数はキーを保持しません。つまり、インデックスをリセットします。

13
Drasill

これは、array_values()を使用する場合と比較して、最も単純な答えではない場合があります。

これを試して

$array = array( 0 => 'string1', 2 => 'string2', 4 => 'string3', 5 => 'string4');
$arrays =$array;
print_r($array);
$array=array();
$i=0;
    foreach($arrays as $k => $item)
    {
    $array[$i]=$item;
        unset($arrays[$k]);
        $i++;

    }

print_r($array);

デモ

2
krishna