<?php
$array = [
"b" => 2,
"a" => 1,
"c" => 3,
];
krsort($array);
print_r($array);
?>
အပြေးပြီးနောက် output ရလဒ်:
Array
(
[c] => 3
[b] => 2
[a] => 1
)
ဤတွင်အဓိကအကြောင်းရင်းများကို Maory မှအသေးအဖွဲမှသေးငယ်သောအရာမှသေးငယ်သောအရာမှအနည်းငယ်သာခွဲခြားထားသည်။
Krsort () krsort () ကိုအဓိကအမည်များဖြင့်အလိုအလျှောက်အမည်နာမည်များကိုကြိုးမဲ့သို့မဟုတ်ကိန်းဂဏန်းများအနေဖြင့်အလိုအလျောက်ကုသလိမ့်မည်။ Array ၏အဓိကအကြောင်းအမည်များရောနှောနေပါက, မျိုးကွဲရလဒ်သည်မျှော်လင့်ထားသည့်အတိုင်းမဖြစ်နိုင်ပါ။
ဥပမာအားဖြင့်:
<?php
$array = [
2 => 'two',
"10" => 'ten',
1 => 'one',
];
krsort($array);
print_r($array);
?>
ဤအချိန်တွင်သော့ချက်အမည် 10 သည် string တစ်ခုဖြစ်သော်လည်းအမှန်တကယ်မှာအမှန်တကယ်ကိန်းဂဏန်းတစ်ခုဖြစ်ပြီး၎င်းသည်ကိန်းဂဏန်းများကိုပြောင်းလဲစေမည့်ကိန်းဂဏန်းများအဖြစ်ပြောင်းလဲသွားလိမ့်မည်။
Krsort () array ၏ပထမ ဦး ဆုံးအလွှာ၏သော့အမည်များကိုသာနှစ်စီ။ အကယ်. ၎င်းသည် Multidimensional Array ဖြစ်ပါကအတွင်းပိုင်း subarray ကိုခွဲခြားမည်မဟုတ်ပါ။
<?php
$array = [
"first" => ["b" => 2, "a" => 1],
"second" => ["d" => 4, "c" => 3],
];
krsort($array);
print_r($array);
?>
ဤတွင်ကျွန်ုပ်တို့သည်ပထမအဆင့် ၏ အမည်များ, ပထမ နှင့် စက္ကန့်ကို သာရွေးချယ်လိမ့်မည်။
Krsort () သည် array parameters များကိုသာထောက်ပံ့သည်။ အကယ်. မအောင်မြင်သော (ဥပမာ - အရာဝတ်ထုတစ်ခုသို့မဟုတ် string တစ်ခုကဲ့သို့) ကိုလွန်လျှင် function သည်အလုပ်မလုပ်တော့ပါ။
variable ကို array ဟုတ်မဟုတ်စစ်ဆေးပါ
အလွဲသုံးစားမှုကိုရှောင်ရှားရန်အတည်ပြုရန် is_array () function ကိုသုံးပါ။
if (!is_array($array)) {
echo "variable ကိုအတွက်ဖြတ်သန်းမယ့် array မဟုတ်ပါဘူး,sort နိုင်ခြင်း";
}
သော့အမည်အမျိုးအစားတသမတ်တည်းရှိမရှိစစ်ဆေးပါ
ခြွင်းချက်မျိုးစုံရောထွေးခြင်းနှင့်ဖြစ်ပေါ်စေခြင်းများကိုရှောင်ရှားရန်သော့ချက်အမည်များအားလုံးသည်ကြိုးမဲ့သို့မဟုတ်ကိန်းများဖြစ်သည်ကိုစစ်ဆေးပါ။
foreach ($array as $key => $value) {
var_dump($key, gettype($key));
}
မျှော်လင့်ထားသည့်အဆင့်ဆင့်စီခံသည်ဖြစ်စေအတည်ပြုပါ
ရှုထောင်ခင်းကျင်းရန်အတွက်သင်မည်သည့်နေရာ၌သင်လိုအပ်သည်ကိုရှင်းလင်းရန်လိုအပ်သည်။
အထက်ဖော်ပြပါပြ problems နာများကိုဖြေရှင်းရန်အနည်းငယ်သာဖြေရှင်းနိုင်သည်။
သော့ချက်အမည်များရောစပ်ပါကအဓိကအမည်အမျိုးအစားကိုပထမ ဦး ဆုံးစည်းလုံးညီညွတ်သည်။
<?php
$newArray = [];
foreach ($array as $key => $value) {
$newArray[(string)$key] = $value;
}
krsort($newArray);
print_r($newArray);
?>
၎င်းသည်ဂဏန်းကြိုးများရှုပ်ထွေးမှုများကိုရှောင်ရှားနိုင်သည်။
အကယ်. သင် Subarray ၏အဓိကအမည်များကိုခွဲရန်လိုအပ်ပါက recursive method ကိုသုံးပါ။
<?php
function recursive_krsort(&$array) {
if (!is_array($array)) return;
krsort($array);
foreach ($array as &$value) {
if (is_array($value)) {
recursive_krsort($value);
}
}
}
recursive_krsort($array);
print_r($array);
?>
<?php
if (is_array($array)) {
krsort($array);
} else {
echo "variable တွေကို arrays မဟုတ်ပါဘူး,sort နိုင်ခြင်း。";
}
?>
PHPKSARSAR () နှင့်ပတ်သက်သောအသေးစိတ်အချက်အလက်များနှင့်ဥပမာများပိုမိုအသေးစိတ်အချက်အလက်များအတွက်, တရားဝင်စာရွက်စာတမ်းများကိုသင်ဝင်ရောက်ကြည့်ရှုနိုင်သည်။
<code> https://gitbox.net/manual/en/function.krsort.php </ code>