@saniii

Как отсортировать массив при наличии условия сортировки в PHP?

Доброе время суток, не как не могу найти способ сортировки массива со значениями в виде текста. Алгоритм вроде прост но реализовать чтобы так сказать грамотно и без лишних действий написать не получается.
Вот так выглядит массив:
Array (
 [0] => ID: 325312. Сумма задания: 54.6. ...
 [1] => ID: 325313. Сумма задания: 0.25. ...
 [2] => ID: 325314. Сумма задания: 15.1. ...
)


условие лишь 1, это отсортировать по сумме задания, думал с помощью usort, но он не работает с не целочисленными значениями. В итоге должно получится так:
Array (
 [0] => ID: 325312. Сумма задания: 54.6. ...
 [1] => ID: 325314. Сумма задания: 15.1. ...
 [2] => ID: 325313. Сумма задания: 0.25. ...
)
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
0xD34F
@0xD34F
$pattern = '/Сумма задания: (\d+\.\d+)/';
usort($arr, function($a, $b) use($pattern) {
  preg_match($pattern, $a, $ma);
  preg_match($pattern, $b, $mb);
  return $mb[1] - $ma[1];
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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