လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> krsort sorting အကျိုးသက်ရောက်မှုမယူပါဘူး? FAQs ကိုဖြေရှင်းပါ

krsort sorting အကျိုးသက်ရောက်မှုမယူပါဘူး? FAQs ကိုဖြေရှင်းပါ

gitbox 2025-05-27

1 ။ Krsort ၏အခြေခံအသုံးပြုမှုကိုပြန်လည်သုံးသပ်ခြင်း ()

 <?php
$array = [
    "b" => 2,
    "a" => 1,
    "c" => 3,
];
krsort($array);
print_r($array);
?>

အပြေးပြီးနောက် output ရလဒ်:

 Array
(
    [c] => 3
    [b] => 2
    [a] => 1
)

ဤတွင်အဓိကအကြောင်းရင်းများကို Maory မှအသေးအဖွဲမှသေးငယ်သောအရာမှသေးငယ်သောအရာမှအနည်းငယ်သာခွဲခြားထားသည်။


2 ။ Krsort () အကျိုးသက်ရောက်မှုမယူသောအဘယျသို့အဘယ်ကြောင့်သာမန်အကြောင်းရင်းများ

1 ။ သော့အမည်အမျိုးအစားယူနီဖောင်းမဟုတ်ပါဘူး

Krsort () krsort () ကိုအဓိကအမည်များဖြင့်အလိုအလျှောက်အမည်နာမည်များကိုကြိုးမဲ့သို့မဟုတ်ကိန်းဂဏန်းများအနေဖြင့်အလိုအလျောက်ကုသလိမ့်မည်။ Array ၏အဓိကအကြောင်းအမည်များရောနှောနေပါက, မျိုးကွဲရလဒ်သည်မျှော်လင့်ထားသည့်အတိုင်းမဖြစ်နိုင်ပါ။

ဥပမာအားဖြင့်:

 <?php
$array = [
    2 => 'two',
    "10" => 'ten',
    1 => 'one',
];
krsort($array);
print_r($array);
?>

ဤအချိန်တွင်သော့ချက်အမည် 10 သည် string တစ်ခုဖြစ်သော်လည်းအမှန်တကယ်မှာအမှန်တကယ်ကိန်းဂဏန်းတစ်ခုဖြစ်ပြီး၎င်းသည်ကိန်းဂဏန်းများကိုပြောင်းလဲစေမည့်ကိန်းဂဏန်းများအဖြစ်ပြောင်းလဲသွားလိမ့်မည်။

2 ။ MultidimenSAlal Array သည် sorting အဆင့်ကိုမဖော်ပြထားပါ

Krsort () array ၏ပထမ ဦး ဆုံးအလွှာ၏သော့အမည်များကိုသာနှစ်စီ။ အကယ်. ၎င်းသည် Multidimensional Array ဖြစ်ပါကအတွင်းပိုင်း subarray ကိုခွဲခြားမည်မဟုတ်ပါ။

 <?php
$array = [
    "first" => ["b" => 2, "a" => 1],
    "second" => ["d" => 4, "c" => 3],
];
krsort($array);
print_r($array);
?>

ဤတွင်ကျွန်ုပ်တို့သည်ပထမအဆင့် အမည်များ, ပထမ နှင့် စက္ကန့်ကို သာရွေးချယ်လိမ့်မည်။

3 ။ မမှန်ကန်သော variable ကိုအမျိုးအစား

Krsort () သည် array parameters များကိုသာထောက်ပံ့သည်။ အကယ်. မအောင်မြင်သော (ဥပမာ - အရာဝတ်ထုတစ်ခုသို့မဟုတ် string တစ်ခုကဲ့သို့) ကိုလွန်လျှင် function သည်အလုပ်မလုပ်တော့ပါ။


3 ။ Krsort () အကျိုးသက်ရောက်မှုမရှိသောပြ the နာကိုဖြေရှင်းနည်း

  1. variable ကို array ဟုတ်မဟုတ်စစ်ဆေးပါ

အလွဲသုံးစားမှုကိုရှောင်ရှားရန်အတည်ပြုရန် is_array () function ကိုသုံးပါ။

 if (!is_array($array)) {
    echo "variable ကိုအတွက်ဖြတ်သန်းမယ့် array မဟုတ်ပါဘူး,sort နိုင်ခြင်း";
}
  1. သော့အမည်အမျိုးအစားတသမတ်တည်းရှိမရှိစစ်ဆေးပါ

ခြွင်းချက်မျိုးစုံရောထွေးခြင်းနှင့်ဖြစ်ပေါ်စေခြင်းများကိုရှောင်ရှားရန်သော့ချက်အမည်များအားလုံးသည်ကြိုးမဲ့သို့မဟုတ်ကိန်းများဖြစ်သည်ကိုစစ်ဆေးပါ။

 foreach ($array as $key => $value) {
    var_dump($key, gettype($key));
}
  1. မျှော်လင့်ထားသည့်အဆင့်ဆင့်စီခံသည်ဖြစ်စေအတည်ပြုပါ

ရှုထောင်ခင်းကျင်းရန်အတွက်သင်မည်သည့်နေရာ၌သင်လိုအပ်သည်ကိုရှင်းလင်းရန်လိုအပ်သည်။


IV ။ အဖြေဥပမာများ

အထက်ဖော်ပြပါပြ problems နာများကိုဖြေရှင်းရန်အနည်းငယ်သာဖြေရှင်းနိုင်သည်။

1 ။ သော့ကို string ကိုရန်

သော့ချက်အမည်များရောစပ်ပါကအဓိကအမည်အမျိုးအစားကိုပထမ ဦး ဆုံးစည်းလုံးညီညွတ်သည်။

 <?php
$newArray = [];
foreach ($array as $key => $value) {
    $newArray[(string)$key] = $value;
}
krsort($newArray);
print_r($newArray);
?>

၎င်းသည်ဂဏန်းကြိုးများရှုပ်ထွေးမှုများကိုရှောင်ရှားနိုင်သည်။

2 ။ ပြန်လည်ထူထောင်ခြင်း Multidimensive Arrays ကိုရယူပါ

အကယ်. သင် 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);
?>

3 ။ ခင်းကျင်းရန် variable ကိုအတည်ပြုပါ

 <?php
if (is_array($array)) {
    krsort($array);
} else {
    echo "variable တွေကို arrays မဟုတ်ပါဘူး,sort နိုင်ခြင်း。";
}
?>

5 ။ လက်တွေ့ကျကျရည်ညွှန်း link ကို

PHPKSARSAR () နှင့်ပတ်သက်သောအသေးစိတ်အချက်အလက်များနှင့်ဥပမာများပိုမိုအသေးစိတ်အချက်အလက်များအတွက်, တရားဝင်စာရွက်စာတမ်းများကိုသင်ဝင်ရောက်ကြည့်ရှုနိုင်သည်။

<code> https://gitbox.net/manual/en/function.krsort.php </ code>