2015-02-25 2 views
-1

Я пытаюсь сортировать многомерный массив по под-ключам.Как сортировать многомерный массив по (int) SubKeys

Пример:

Array 
(
    [Rep4] => Array 
     (
      [key_location_id] => 49736 
      [10] => Array 
       (
        [key_location_id] => 50265 
       ) 

      [14] => Array 
       (
        [key_location_id] => 50275 
       ) 

      [12] => Array 
       (
        [key_location_id] => 50283 
       ) 

      [16] => Array 
       (
        [key_location_id] => 50291 
       ) 

      [26] => Array 
       (
        [key_location_id] => 50307 
       ) 

      [22] => Array 
       (
        [key_location_id] => 50323 
       ) 
     ) 
) 

Есть несколько массивов верхнего уровня например .: Rep5, Rep6 и т.д., но я хочу, чтобы отсортировать элементы по ключевому целому числу во втором уровне массива. Как вы можете видеть, теперь это 10, 14, 12, 16, 26, 22, но я хочу, чтобы они были в порядке возрастания. Однако «key_location_id» должен оставаться на вершине.

ответ

1

Вы должны использовать ksort для каждого массива верхнего уровня

foreach ($yourArray as &$topLevelArray) { 
    ksort($topLevelArray); 
} 

затем просмотреть выходные

echo '<pre>'.print_r($yourArray,1).'</pre>'; 
Смежные вопросы