Я не уверен на 100% в ваших намерениях. Чтобы просто отсортировать массив на основе значения , но назначить новые ключи, используйте sort()
:
sort($array);
print_r($array);
Ключи не сохраняются с этой конкретной функцией. Выход:
Array
(
[0] => apple
[1] => banana
[2] => pear
)
Но если вы хотите отсортировать массив по значению ключа, используйте ksort()
:
ksort($array);
print_r($array);
Выход:
Array
(
[3] => apple
[5] => pear
[23] => banana
)
Однако это сохранит ключи. Чтобы переназначить ключи для массива от 0 и далее, используйте array_values()
для результата:
ksort($array);
$array_with_new_keys = array_values($array); // sorted by original key order
print_r($array_with_new_keys);
Выход:
Array
(
[0] => apple
[1] => pear
[2] => banana
)