Чтобы отсортировать массив PHP по длине его значений, вы можете использовать различные методы. Вот несколько примеров с кодом:
Метод 1: использование функции usort()
$array = array("apple", "banana", "pear", "kiwi", "orange");
usort($array, function($a, $b) {
return strlen($a) - strlen($b);
});
print_r($array);
Метод 2: использование функции array_multisort()
$array = array("apple", "banana", "pear", "kiwi", "orange");
array_multisort(array_map('strlen', $array), $array);
print_r($array);
Метод 3. Использование пользовательской функции сортировки
$array = array("apple", "banana", "pear", "kiwi", "orange");
function sortByLength($a, $b) {
return strlen($a) - strlen($b);
}
usort($array, 'sortByLength');
print_r($array);
Метод 4. Использование функции array_walk()
$array = array("apple", "banana", "pear", "kiwi", "orange");
array_walk($array, function (&$value) {
$value = strlen($value);
});
asort($array);
print_r($array);
Метод 5: использование комбинации функций array_map(), array_keys() и array_multisort()
$array = array("apple", "banana", "pear", "kiwi", "orange");
array_multisort(array_map('strlen', $array), array_keys($array), $array);
print_r($array);