Я дважды искал его в течение двух дней и пытался посмотреть руководство по PHP, и я до сих пор не помню эту функцию, которая выравнивает значения ключей для массивов PHP.
Все, что я ищу, это функция, которая принимает это:
Array ( [0] => 1 [3] => 2 [4] => 3 [7] => 4 [9] => 5 )
И преобразует его в это:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
В принципе, массив сначала сортируется по ключу (их привязанные к ним значения остаются с ними), тогда все ключи устанавливаются на все числа подсчета, последовательно, без пропускания какого-либо числа (0,1,2,3,4,5 , 6,7,8,9 …). Я видел, что он использовался с ksort () несколько месяцев назад и не может видеть, чтобы запомнить или найти эту неуловимую функцию.
Ну, вы видите, это сложно, потому что общее описание на странице функций массива PHP не говорит, что эта функция делает то, что вы ищете.
Но вы можете отсортировать массив с помощью ksort()
, а затем использовать это: array_values()
. На странице руководства PHP:
array_values()
возвращает все значения из входного массива и численно индексирует массив.
Вы можете использовать array_merge
:
$array = array_merge($array);
Он будет индексировать значения с помощью цифровых клавиш.
Обновление: использование array_values
предложенное в ответе @ LostInTheCode, вероятно, более наглядное .
function array_reset_index_keys($array) { $return = array();foreach($array as $k => $v){$return[] = $v;}return $return; }
И затем использовать как регулярную функцию, следует повторно индексировать массив
вы также можете использовать собственные функции, такие как array_values
которые возвращают значения массива в один размерный массив, заставляя его индексировать.