Сортировка массива!
У меня сервер отдает данные в сортировке бд, ну выводишь на странице надо по другом порядке, у меня есть массив id
1,2,3,4,24,5,14,16,27,34,30,37,32,40,11,39,23,19,6 ,7,12,8,9,13,10,22,26,28,36,41,15,31,17,18,20,21,3 3,35,25,29,38 где надо выводить данные как мне это сделать? Что было 1,2,3,4,24 а не 1,2,3,4,5,6 Пример массива id: 27 nomer: 26 Надо сортировать по: nomer Хотел вот так function sIncrease(i,ii){ if(i.id>ii.id) return 1; else if(i.id<ii.id) return -1; else return 0; } Не вышло( Заранее спасибо. |
А по какой это закономерности после 4 должно быть 24?
|
Цитата:
Цитата:
|
Цитата:
|
id: 1
nomer: 1 Вот real_id: 1 |
mrKot,
:( |
mrKot, если требуется некая сортировка не поддающаяся осмысленному, то читайте о ORDER BY FIELD.
|
Вот такой массив!)
{ 0: { id: 1 nomer: 1 cnt: 5633 } 1: { id: 2 nomer: 2 } } |
А почему вы выборку не сортируете сразу по нужному?
|
Цитата:
|
Не вышло вообще ничего(
|
id и nomer это поля SQL таблицы?
|
Да mysql я знаю и так у мне это не поможет, так как часть данных идет с чужого сервера)
|
mrKot,
неужели так сложно массив сделать для образца ? если у вас не массив, то обьект до сортировки и после сортировки -- а так ждите телепата который поймёт что вы сортируите. |
А вы думаете вам JS поможет? Нет типа сортировки, которая бы догадалась, что после 4 должно следовать 24. Если знаете SQL, значит должны и знать, что для задания сортировки определенной в таблице создают поле ее описывающее. По другому ничего не получится.
Единственное, что можно сделать, это отсортировать опираясь на какую-то закономерность, если она у вас есть. Да и делать это надо средствами РНР, у него богаче инструментарий в этом плане. |
Вот такое поступает в sort
{ 0: { id: 1 nomer: 1 } 1: { id: 2 nomer: 2 } 2: { id: 3 nomer: 3 } } nomer планировалось после кого элемента вывести например если будет id 10 и он будет расположен в массиве, тот что с верху есть он будет идти 4 после прохождения в sort |
Цитата:
|
ладно тогда
|
Функция sort не сортирует многомерные массивы, для этого существует функция array_multisort.
|
Часовой пояс GMT +3, время: 12:38. |