PHP reindex массив? [дубликат]


этот вопрос уже есть ответ здесь:

У меня есть массив, который я должен был удалить некоторые индексы, так что теперь это выглядит как

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

Как вы можете видеть [2] отсутствует все, что мне нужно сделать, это сбросить индексы, чтобы они показывали[0]-[3].

4 109

4 ответа:

использовать array_values.

$myarray = array_values($myarray);
$myarray = array_values($myarray);

array_values

array_values работает :

$myArray  = array_values($myArray);

также некоторые другие функции php не сохраняют ключи, т. е. сбрасывают индекс.

это может быть не самый простой ответ по сравнению с использованием 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);

демо