it-swarm.com.ru

PHP переиндексировать массив?

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

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

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

131
MrWhddite333

Используйте array_values .

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

array_values

90
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