我正在使用具有键值的关联数组,该键值是波斯字符串,问题是当我使用ksort对数组进行排序时。问题是排序过程对四个特定字符没有影响,并将它们放在已排序数组的末尾。 这是这四个字符:
گ چ پ ژ
我认为这是因为阿拉伯字母中不存在4个字符。 这是一个例子
$ main_array = array(“محمد” => 55,“علی” => 67,“رضا” => 90,“گلاب” => 34) ksort之后,必须将其显示为结果: رضا,علی,گلاب,محمد 但是ksort结果是这样的: رضا,علی,محمد,گلاب
Array
(
[فولاد امیر کبیر] => ۶۵۵
[شرکت فولاد کیان ابهر] => ۶۶۵
[فولاد آریا ذوب] => ۶۵۶
[گروه صنعتی فولاد یزد] => ۶۵۱
[فولاد قائم رازی] => ۶۶۴
[فولاد سیادن ابهر] => ۶۶۳
[مجتمع فولاد البرز غرب] => ۶۴۹
[شرکت فولاد سپهر ایرانیان] => ۶۶۱
[فولاد کیان کاشان] => ۶۵۷
[فولاد شاهرود] => ۶۵۴
[فولاد آناهیتا گیلان] => ۶۵۹
[نورد آریان فولاد] => ۶۴۸
[فولاد میانه] => ۶۵۸
[فولاد بافق یزد] => ۶۶۲
[فولاد قزوین] => ۶۶۰
[پرشین فولاد آریا] => ۶۵۲
[فولاد نیشابور] => ۶۵۳
[فولاد کویر کاشان] => ۶۵۰
[ذوب آهن اصفهان] => ۶۴۷
)
//here is the example which ksort working properly by english chars
$myarray = array(
"reza"=>35,
"mohamad"=>56,
"nima"=>45,
"ali"=>76,
);
ksort($myarray);
print_r($myarray);
//here is the example which ksort not working properly by persian chars
$mypersianarray = array(
"علی"=>35,
"گلاب"=>56,
"رضا"=>45,
"محمد"=>76,
);
ksort($myarray);
print_r($mypersianarray);
//output
Array ( [علی] => 35 [گلاب] => 56 [رضا] => 45 [محمد] => 76 )
//which is wrong and گلاب goes at end