Встроенная функция PHP для сброса индексов массива?

Пример:

$arr = array(1 => 'Foo', 5 => 'Bar', 6 => 'Foobar'); /*... do some function so $arr now equals: array(0 => 'Foo', 1 => 'Bar', 2 => 'Foobar'); */ 

Solutions Collecting From Web of "Встроенная функция PHP для сброса индексов массива?"

Используйте array_values($arr) . Это приведет к возврату регулярного массива всех значений (числовое значение индексируется).

PHP-документы для array_values

 array_values($arr); 

Чтобы добавить к другим ответам, array_values() не сохранит строковые ключи. Если в вашем массиве есть сочетание строковых ключей и числовых клавиш (что, вероятно, является показателем плохой конструкции, но может случиться, тем не менее), вы можете использовать такую ​​функцию, как:

 function reset_numeric_keys($array = array(), $recurse = false) { $returnArray = array(); foreach($array as $key => $value) { if($recurse && is_array($value)) { $value = reset_numeric_keys($value, true); } if(gettype($key) == 'integer') { $returnArray[] = $value; } else { $returnArray[$key] = $value; } } return $returnArray; } 

Не знаю, что я знаю, вы, возможно, уже проверили функции здесь

но я могу себе представить себе простую функцию

 resetarray($oldarray) { for(int $i=0;$i<$oldarray.count;$i++) $newarray.push(i,$oldarray[i]) return $newarray; } 

Я немного острый по синтаксису, но я думаю, у вас есть идея.