Отсортировать многомерный массив

294
08 ноября 2017, 03:24

Есть массив вида:

[Акушер-гинеколог] => Array
   (
     [0] => 1600
     [2] => 1500
     [4] => 1200
   )

Как правильно его отсортировать по цене по возрастанию? Использовал: array_multisort, asort, arsort, krsort, ksort

Answer 1

В вашем случае пробуем вот так, правильно ли я понял, что массив может выглядеть так? Пример работы https://repl.it/NpX9/1

$array = [
  'акушер' => [
      0 => 1600,
      2 => 1500,
      4 => 1200
    ],
  'гинеколог' => [
      0 => 1700,
      2 => 1100,
      4 => 1200
    ],
  'акушер2' => [
      0 => 1300,
      2 => 1700,
      4 => 1000
    ],
];
//можно отсортировать по ключу
ksort($array);
//сортируем внутренность
foreach ($array as $k=>$v){
  asort($array[$k]);
}
var_dump($array);
Answer 2

Если нет связи между значениями разных веток(каждую нужно сортировать отдельно), то проще всего так и сделать:

$data = [
  'k1' => [5, 4, 3, 2, 1],
  'k2' => [9, 8, 7, 6, 5],
];
foreach ($data as $k => $row) sort($data[$k]);
var_dump($data);

Если эти данные поступают из базы данных, то лучше сортировать их на стороне базы.

Answer 3

Может Вам такой вариант подойдет:

$ar = [
    'Акушер-гинеколог1'=> [ 
        0 => 1600, 
        2 => 1500,
        4 => 1200],
    'Акушер-гинеколог2'=> [   
        0 => 1600, 
        2 => 1500,
        4 => 1200]
      ];
array_multisort($ar['Акушер-гинеколог1'], SORT_ASC, 
                $ar['Акушер-гинеколог2'], SORT_ASC);
print_r($ar);
READ ALSO
Никак не работает функция flush

Никак не работает функция flush

На серверах с установленной Vestacp не работает функция flush, перепробовал уже все возможные варианты комбинацийВ php

207
Internal server error 500 при попытке обновить БД ajax json php js

Internal server error 500 при попытке обновить БД ajax json php js

Проблема заключается в функции checkEmail, не могу понять только в чем именно проблема

250
Сформировать изображения JPG на PHP

Сформировать изображения JPG на PHP

Дано: файлы форматов jpg (jpeg) и png разных размеров (небольшие, порядка 300Кб максимум)

253
PHP форма заказа

PHP форма заказа

Есть скрипт PHP (форма заявки на сайте), когда нажимаю отправить?, страница с главной переходит на http//сайт123/form1php в пустое окно

211