2012-12-20 183 views
0

我想按键排序关联数组。我使用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

+0

不知道函数应该如何工作:阅读[在手册中](http://php.net/ksort)! –

+2

'ksort($ states)''而不是'$ states = ksort($ states)' –

+0

@ÁlvaroG.Vicario好的我知道了 –

回答

0

不要reaffect 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

+0

好的谢谢你的回答。 –

0

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

*排序函数直接改变数组。

0

使用ksort()通过数组排序的键

不分配结果。尝试在排序后按以下方式打印:

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