Автор |
Сообщение |
Richard Ferlow Гуру Предупреждений : 2
|
|
Есть некоторый массив, array, где array[$i] = 'name;name2;price';
при выводе значений из этого массива делается explode по ";" таким образом разбивая на подмассив при выводе array2.
собственно сделать так, чтобы можно было изначальный массив array отсортировать по значению price - т.е. по значению array2[2];
как это можно сделать ? в голову лезут только варианты с множественными проходами циклами, может быть функцию какую-то не знаю или алгоритм, которым это можно сделать. |
|
|
|
|
Richard Ferlow Гуру Предупреждений : 2
|
|
решилось) есть такая функция usort(); |
|
|
|
|
AlexRock Гуру |
|
Чего-то не понял. В дотнете берёшь коллекцию, поддерживающую сортировку, пихаешь в неё объекты своего первого массива в качестве значений, а свойство, по которому будешь сортировать - в качестве ключа, и готово - там уже всё отсортировано без всяких функций. Наверняка в любом языке такие коллекции есть.
А ещё можно LINQ to objects воспользоваться (тоже, наверняка, есть аналоги уже в каждом языке):
var array =
from destArray in sourceArray
orderby destArray.price
select destArray; |
|
|
|
|
Richard Ferlow Гуру Предупреждений : 2
|
|
а сорри, язык примитивный - php) |
|
|
|
|
AlexRock Гуру |
|
А там что, нет всяких сортирующих коллекций и SQL-подобных запросов к ним?! Оо Как вы на нём пишете?! |
|
|
|
|
|