@Vladimir-Hetman

Cортировка строк в массиве?

Что-то я совсем не соображу, как тут сделать так, чтобы сортировались сначала строки, а потом цифры?
Надо, чтобы сначала шли строки по алфавиту, а потом цифры.
$arr = [ "б", "в", 1, 3, "а", 2];

uasort($arr, function($a, $b){
return substr($a, -1)<=> substr($b, -1);
});

echo "<br>".implode('<br>', $arr);
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
uasort(
    $arr,
    fn(int|string $a, int|string $b): int =>
        ($t = is_string($a) <=> is_string($b)) ? -$t : $a <=> $b,
);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы