2016-02-25 2 views
-2

Как отсортировать этот массив по югу ключ массива (10, 20, 21, 60, 70):Сортировка многомерного массива под ключом; ключи Текст исчезает проблема

$array = array(
    'Value 1'=> array (
     '10'=> "-11.34" 
    ), 

    "Value 2"=> array (
     '60'=> '-10' 
    ), 

    "Value 3"=> array (
     '70'=> '-23.96' 
    ), 

    "Value 4"=> array (
     '20'=> '-23.96' 
    ), 

    "Value 5"=> array (
     '21'=> '-6.1' 
    )  
); 

Чтобы получить в финале этой сортировки:

Значение 1: 11.34

Значение 4: 20,4

Значение 5: 6.1

Значение 2: 10

Значение 3: 23,96

С помощью этой функции:

function sortByValueKey($a, $b) { 
    $keysA = array_keys($a); 
    $keysB = array_keys($b); 
    return $keysA[0] > $keysB[0]; 
} 

Я не нахожу мои текстовые значения больше. Любые идеи для решения проблемы

+0

Возможный дубликат [Сортировка многомерный массив с помощью PHP] (http://stackoverflow.com/questions/25090227/sorting-a-multidimentional-array-using-php) – Rhopercy

+0

Вы должны написать более описательные заголовки, чтобы люди могли догадаться, что вам нужно в быстром просмотре – Asur

ответ

1

Просто используйте этот код. $ Массив является содержание вашего описанного массива

<?php 
function sortByValueKey($a, $b) { 
    $keysA = array_keys($a); 
    $keysB = array_keys($b); 
    return $keysA[0] > $keysB[0]; 
} 

uasort($array, 'sortByValueKey'); 
+0

Спасибо за ваш ответ, я пробовал, но когда я делаю var_dump на моем массиве, я больше не нахожу свои текстовые значения (Value1, Value2 ...), любые идеи по устранению этой проблемы? – Bizboss

+0

исправил это! Просто используйте uasort вместо usort! – Kordi

Смежные вопросы