按键排序关联数组

时间:2012-12-20 11:07:51

标签: php

我想按键对关联数组进行排序。我使用kso​​rt函数,但它返回1而不是array.Below是我的代码。

$states=array( "DD"=>"Daman and Diu", "LD"=>"Lakshdweep", "DN"=>"Dadra
and nagar haveli", "AN"=>"Andaman and Nicobar island", "SK"=>"Sikkim",
"MZ"=>"Mizoram", "GA"=>"Goa", "PY"=>"Puduchery", "CH"=>"Chandigarh",
"ML"=>"Meghalaya", "AR"=>"Arunachal Pradesh", "TR"=>"Tripura",
"HP"=>"Himanchal Pradesh", "NL"=>"Nagaland", "PB"=>"Punjab",
"CG"=>"Chattisgarh", "JK"=>"Jammu and Kashmir", "UA"=>"Uttrakhand",
"HR"=>"Haryana", "JH"=>"Jharkhand", "KL"=>"Kerela", "MN"=>"Manipur" ,
"AS"=>"Assam", "RJ"=>"Rajasthan", "MP"=>"Madhya Pradesh",
"KA"=>"Karnataka", "BR"=>"Bihar", "OR"=>"Orissa", "GJ"=>"Gujrat",
"AP"=>"Andhra Pradesh", "TN"=>"TamilNadu", "DL"=>"Delhi",
"MH"=>"Maharastra", "WB"=>"WestBengal", "UP"=>"UttarPradesh",
); 


 $states = ksort($states);
 print_r($states);

我得到的输出是:1

我想要数组而不是1。

3 个答案:

答案 0 :(得分:0)

不要$states = ksort($states);ksort($states);

* sort函数直接改变数组。

答案 1 :(得分:0)

不要将ksort的结果重新影响到数组,ksort通过引用获取数组:

$states=array(
"DD"=>"Daman and Diu", "LD"=>"Lakshdweep", "DN"=>"Dadra and nagar haveli", "AN"=>"Andaman and Nicobar island", "SK"=>"Sikkim", "MZ"=>"Mizoram", "GA"=>"Goa", "PY"=>"Puduchery", "CH"=>"Chandigarh", "ML"=>"Meghalaya", "AR"=>"Arunachal Pradesh", "TR"=>"Tripura", "HP"=>"Himanchal Pradesh", "NL"=>"Nagaland", "PB"=>"Punjab", "CG"=>"Chattisgarh", "JK"=>"Jammu and Kashmir", "UA"=>"Uttrakhand", "HR"=>"Haryana", "JH"=>"Jharkhand", "KL"=>"Kerela", "MN"=>"Manipur" , "AS"=>"Assam", "RJ"=>"Rajasthan", "MP"=>"Madhya Pradesh", "KA"=>"Karnataka", "BR"=>"Bihar", "OR"=>"Orissa", "GJ"=>"Gujrat", "AP"=>"Andhra Pradesh", "TN"=>"TamilNadu", "DL"=>"Delhi", "MH"=>"Maharastra", "WB"=>"WestBengal", "UP"=>"UttarPradesh"
    );

ksort($states);
print_r($states);

有关ksort here

的更多信息

答案 2 :(得分:0)

使用 ksort()按键

对数组进行排序

不要分配结果。在排序后尝试打印如下,

ksort($states);
print_r($states);