Я пытаюсь сделать так же, как MySQL запрос < /p>
SELECT * FROM table ORDER BY field1, field2, ...< /code> < /p>
Но с PHP и многомерным массивом: < /p>
$Test = array(
array("a"=>"004", "n"=>"03"),
array("a"=>"003", "n"=>"02"),
array("a"=>"001", "n"=>"02"),
array("a"=>"005", "n"=>"01"),
array("a"=>"001", "n"=>"01"),
array("a"=>"004", "n"=>"02"),
array("a"=>"003", "n"=>"01"),
array("a"=>"004", "n"=>"01")
);
function msort(&$array, $keys){
array_reverse($keys);
foreach($keys as $key){
uasort($array, sortByKey);
}
//
function sortByKey($A, $B){
global $key;
$a = $A[$key];
$b = $B[$key];
if($a==$b) return 0;
return ($a < $b)? -1 : 1 ;
}
}
//
msort($Test, array("a","n"));
//
foreach($Test as $t){
echo('
'.$t["a"].'-'.$t["n"].'
');
}
< /code>
Моя теория такова: если я сортирую несколько раз по столбцам с «меньшей важности», то столбцы «Большая важность», я получу такой порядок, подобный вышеуказанному запросу MySQL . < /p>
К сожалению, PHP возвращается: < /p>
предупреждение: uasort () ожидает Параметр 2 как действительный обратный вызов, функция 'sortbykey' не найдено или неверное имя функции в /либририю/webserver/documents/www/teste.array_sort.php в строке 23 "(line uasort)
< /blockquote>
Это простая функция порядка.>
Подробнее здесь: https://stackoverflow.com/questions/228 ... le-columns
Как сортировать многомерный массив по нескольким столбцам? ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Сортировать многомерный массив с помощью столбца, а затем по первым уровням клавиш
Anonymous » » в форуме Php - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-