2016-02-25 22 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