|
|
|
| Пример.
$i=1;
while($res = mysql_fetch_array($res_q))
{
$arr['price'][$i] = $res['price'];
$arr['id'][$i] = $res['id'];
$arr['name'][$i] = $res['name'];
$i++;
}
for($a=1; $a<=5; $a++)
{
echo $arr['name'][$a], $arr['price'][$a], $arr['id'][$a];
}
|
Мне нужно отсортировать массив по ключу price, но при этом должны отсортироваться в том же порядке, что и price, name и id. | |
|
|
|
|
|
|
|
для: Atom
(19.08.2005 в 12:33)
| | Может поможет такая функция?
<?
function _array_multisort_db_cmp($a, $b) {
return strnatcasecmp($a[SORT_KEY], $b[SORT_KEY])*SORT_TYPE==SORT_ASC ? 1 : -1);
}
function array_multisort_db($a, $key, $order) {
define('SORT_KEY', $key);
define('SORT_TYPE', $order);
usort($a, '_array_multisort_db_cmp');
return $a;
}
//$a - массив
//$key -столбец для сортировки
//$order - SORT_ASC, SORT_DESC
?>
|
То есть массив сорируется как таблица БД
PS Где взял не помню. Так что если чьё-то, извиняйте что не сослался :) | |
|
|
|
|
|
|
|
для: Axxil
(19.08.2005 в 12:40)
| | Что-то не работает функция... | |
|
|
|
|
|
|
|
для: Atom
(19.08.2005 в 14:36)
| | А что конкретно не работает? | |
|
|
|
|
|
|
|
для: Axxil
(19.08.2005 в 14:59)
| | 1. Лишняя скобка
2. Просто не работает :) | |
|
|
|
|
|
|
|
для: Atom
(19.08.2005 в 15:10)
| | Не, ну лишняя скобка фиг с ней.
function _array_multisort_db_cmp($a, $b) {
return strnatcasecmp($a[SORT_KEY], $b[SORT_KEY])*(SORT_TYPE==SORT_ASC ? 1 : -1);
}
|
А чё пишет? Всмысле не сортирует? | |
|
|
|
|
|
|
|
для: Axxil
(19.08.2005 в 15:13)
| | Я потом в цикле for вывожу эти значения, а их нет. Пишет не определен индекс такой-та. | |
|
|
|
|
|
|
|
для: Atom
(19.08.2005 в 15:39)
| | А можно взглянуть на текст ошибки? | |
|
|
|
|
|
|
|
для: Axxil
(19.08.2005 в 15:46)
| | Говорю же, не определен индекс, который хочу вывести. Но до использования функции он был определен. | |
|
|
|
|
|
|
|
для: Atom
(19.08.2005 в 16:35)
| | Вспомнил где взял:
посмотрите пример использования. У меня великолепно работает. Если так ничего и не получится пишите будем разбираться...
[url]http://forum.dklab.ru/php/advises/SortingOfABidimentionalAssociativeF ileOnStructureSimilarToTheTableOfAD b.html[/url]
Чё-то BB-код глючит :( | |
|
|
|
|
|
|
|
для: Axxil
(19.08.2005 в 17:22)
| | Пишет такой темы нет :( | |
|
|
|
|
|
|
|
для: Atom
(19.08.2005 в 19:45)
| | Блин...
Короче на этой странице 5 тема снизу "Сортировка двумерного ассоциативного массива, по структуре похожего на таблицу БД "
(Вот технологии... Надо кстати обратить внимание администрации) | |
|
|
|
|
|
|
|
для: Atom
(19.08.2005 в 19:45)
| | Пробелы уберите из URL - просто сработала защита... | |
|
|
|
|
|
|
|
для: cheops
(20.08.2005 в 12:52)
| | так вот именно что я копировал прям из адрессной строки браузера. Никаких пробелов самолично не добавлял естественно... Почему так произошло тогда?
Эта последняя буква сама убегает :) | |
|
|
|
|
|
|
|
для: Axxil
(20.08.2005 в 12:55)
| | Это для того, чтобы очень длинной строкой нельзя было нарушить дизайн форума. | |
|
|
|
|
|
|
|
для: cheops
(20.08.2005 в 13:13)
| | Неправильно как-то эта функция сортирует... Первым оказывается не самое маленькое число в массиве... | |
|
|
|