လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုကိုင်တွယ်ရန် PHP strnatcasecmp သိကောင်းစရာများ

ရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုကိုင်တွယ်ရန် PHP strnatcasecmp သိကောင်းစရာများ

gitbox 2025-05-27

PHP ပရိုဂရမ်တွင် strnatcasecmp function သည်သဘာဝအစဉ်အဆက်အပေါ် အခြေခံ. string နှိုင်းယှဉ်မှုများပြုလုပ်ရန်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ ပုံမှန် stricasecmp နှင့်မတူဘဲ strnatcasecmp သည် ကြိုးများကိုနှိုင်းယှဉ်ရန်သဘာဝ sorting ကိုအသုံးပြုသည်။ နံပါတ်များကိုပရိုဆက်ဆာသောအခါနံပါတ်များကိုစာလုံးအဖြစ်နှိုင်းယှဉ်ရုံဖြင့်နံပါတ်များကိုဂဏန်းတန်ဖိုးများအဖြစ်သတ်မှတ်သည်။ ၎င်းသည်ကိန်းဂဏန်းများနှင့်ပတ်သက်သောကြိုးများနှင့်ဆက်ဆံရာတွင်လူသားအမျိုးအစားများကိုကိုင်တွယ်ရာတွင်၎င်းသည်လူ့အကောင်းဆုံးယုတ္တိဗေဒနှင့်ကိုက်ညီစေသည်။

ရှုပ်ထွေးသောဒေတာအဆောက်အအုံများနှင့်စပ်လျဉ်း။ အထူးသဖြင့်ရောနှောထားသောနံပါတ်များနှင့်အက္ခရာများပါ 0 ်သည့်ကြိုးများ, ထို့နောက်ကျွန်ုပ်တို့သည် Strnatcasecmp ကို ဥပမာအများအပြားမှဥပမာများစွာဖြင့်မည်သို့အသုံးပြုရမည်ကိုပြသပါမည်။

1 ။ strnatcasecmp function ကဘာလဲ။

strnatcasecmp function ၏လုပ်ဆောင်ချက်သည်ကြိုးနှစ်ချောင်းကိုနှိုင်းယှဉ်ရန်ဖြစ်သည်။ နှိုင်းယှဉ်မှုဖြစ်စဉ်တွင်နံပါတ်များကိုသူတို့၏အမှန်တကယ်ကိန်းဂဏန်းတန်ဖိုးများအရခွဲခြားလိမ့်မည်။ ၎င်းသည်သင်ကသဘာဝအစဉ်အခုန် (I.E. , လူ့စာဖတ်နိုင်ရန်အမိန့်) အတွက်လိုအပ်သည့်အခြေအနေများအတွက်အလွန်အသုံးဝင်သည်။

function ကိုလက်မှတ် :

 int strnatcasecmp ( string $str1 , string $str2 )

parameter သည်ဖော်ပြချက် :

  • $ str1 : ပထမ string ကို။

  • $ str2 : ဒုတိယ string ကို။

Value ကိုပြန်သွားပါ

  • အကယ်. $ str1 သည် ဒေါ်လာ str2 ထက်နည်းပါကအနုတ်လက်ခဏာနံပါတ်ကိုပြန်ပို့သည်။

  • $ str1 သည် $ str2 နှင့်ညီသည်ဆိုပါက 0 င်ပါ။

  • အကယ်. $ str1 သည် ဒေါ်လာ str2 ထက်ကြီးပါကအပြုသဘောဆောင်သောနံပါတ်ကိုပြန်ပို့သည်။

2 ။ ဥပမာ - အခြေခံ string ကိုနှိုင်းယှဉ်ခြင်း

ပထမ ဦး စွာ strnatcasecmp လုပ်ဆောင်ချက်၏အခြေခံအသုံးပြုမှုကိုကြည့်ကြပါစို့။

 <?php
$str1 = "item20";
$str2 = "item100";
$result = strnatcasecmp($str1, $str2);

if ($result < 0) {
    echo "$str1 is less than $str2";
} elseif ($result > 0) {
    echo "$str1 is greater than $str2";
} else {
    echo "$str1 is equal to $str2";
}
?>

ထုတ်လုပ်မှု -

 item20 is less than item100

ဤဥပမာတွင် "item20" သည် "item200" သည် "item100" ထက်ပိုမိုများပြားသည်

3 ။ ရှုပ်ထွေးသော data structures အတွက် strnatcasecmp ကို သုံးပါ

Elements မျိုးစုံပါ 0 င်သောရှုပ်ထွေးသောဒေတာတည်ဆောက်ပုံများကို sort လုပ်ရန်လိုအပ်သည့်အခါ stranatcasecmp သည်အထူးအရေးကြီးသည်။ ဥပမာအားဖြင့်, item1 ", item10", item2 ", item2" ကဲ့သို့သောနံပါတ်များပါ 0 င်သည့် entries များပါ 0 င်သော array တစ်ခုထည့်သွင်းစဉ်းစားပါ။

 <?php
$items = ["item20", "item3", "item100", "item10", "item1"];
usort($items, 'strnatcasecmp');

print_r($items);
?>

ထုတ်လုပ်မှု -

 Array
(
    [0] => item1
    [1] => item3
    [2] => item10
    [3] => item20
    [4] => item100
)

ဤတွင် airaring function ကို array sort ဖို့အသုံးပြုသည်။ strnatcasecmp function ကို callback အဖြစ် ပြောင်းရွှေ့ သည်။

4 ။ multidimensimensional array အတွက် sort

multiens-multensional array နှင့်ဆက်ဆံရာတွင် stranatcasecmp သည်လည်း အသုံးဝင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့တွင်ထုတ်ကုန်အချက်အလက်အချို့ကိုသိုလှောင်ထားသော Multidimensional Array တစ်ခုရှိသည်ဆိုပါစို့။ ထုတ်ကုန်တစ်ခုစီတွင်ပစ္စည်းတစ်ခုစီတွင်တန်ဖိုးနှင့်စျေးနှုန်းများရှိသည်။

 <?php
$products = [
    ["name" => "item20", "price" => 10],
    ["name" => "item3", "price" => 20],
    ["name" => "item100", "price" => 15],
    ["name" => "item10", "price" => 25],
    ["name" => "item1", "price" => 5]
];

usort($products, function($a, $b) {
    return strnatcasecmp($a['name'], $b['name']);
});

print_r($products);
?>

ထုတ်လုပ်မှု -

 Array
(
    [0] => Array
        (
            [name] => item1
            [price] => 5
        )
    [1] => Array
        (
            [name] => item3
            [price] => 20
        )
    [2] => Array
        (
            [name] => item10
            [price] => 25
        )
    [3] => Array
        (
            [name] => item20
            [price] => 10
        )
    [4] => Array
        (
            [name] => item100
            [price] => 15
        )
)

ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် "item100" မတိုင်မီအဆင့်သတ်မှတ်ချက်မတိုင်မီအဆင့်သတ်မှတ်ချက်ပြ problem နာကိုမကြုံရဘဲထုတ်ကုန်အမည်အရသဘာဝအားဖြင့်အသီးအနှံကိုခွဲထုတ်နိုင်ကြသည်။

5 ။ URL ဒေတာများကိုလုပ်ဆောင်ရန် strnatcasecmp ကို သုံးပါ

ကျွန်ုပ်တို့တွင် URLs များပါ 0 င်သည့်ဒေတာဖွဲ့စည်းပုံရှိသည်ဆိုပါစို့။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် URL လိပ်စာများကိုနှိုင်းယှဉ်ကြည့်ရှုရန်လိုသည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

 <?php
$urls = [
    "http://gitbox.net/item20",
    "http://gitbox.net/item3",
    "http://gitbox.net/item100",
    "http://gitbox.net/item10",
    "http://gitbox.net/item1"
];

usort($urls, 'strnatcasecmp');

print_r($urls);
?>

ထုတ်လုပ်မှု -

 Array
(
    [0] => http://gitbox.net/item1
    [1] => http://gitbox.net/item3
    [2] => http://gitbox.net/item10
    [3] => http://gitbox.net/item20
    [4] => http://gitbox.net/item100
)

ဤနည်းအားဖြင့် URL လိပ်စာများကို၎င်းတို့၏ပကတိအစဉ်အတိုင်းသဘာဝအစဉ်အလာတွင်သတ်မှတ်ထားရန်သေချာစေနိုင်သည်။

6 ။ အကျဉ်းချုပ်

ရှုပ်ထွေးသောဒေတာအဆောက်အအုံများနှင့်ဆက်ဆံရာတွင် strnatcasecmp လုပ်ဆောင်ချက်သည်သဘာဝပတ်ဝန်းကျင်အစဉ်လိုက်နှိုင်းယှဉ်နှိုင်းယှဉ်မှုများနှင့်နှိုင်းယှဉ်လျှင် string ကိုအကောင်အထည်ဖော်ရန်လွယ်ကူသောနည်းလမ်းတစ်ခုကိုပေးသည်။ ရိုးရှင်းသော string နှင့်နှိုင်းယှဉ်ခြင်းနှင့်ပတ် 0 န်းကျင်ဆိုင်ရာအရေးယူမှုများနှင့် string sorting များတွင် strings sorting များတွင် strnatcasecmp သည် code ၏ readability နှင့်အလိုလိုသိမှုကိုထိရောက်စွာတိုးတက်စေနိုင်သည်။ stranatcasecmp သည်လူသားများအားပုံမှန်အမျိုးအစားခွဲခြားခြင်းတွင်အချက်အလက်များကိုပြုပြင်ရန်အတွက်မရှိမဖြစ်လိုအပ်သောကိရိယာတစ်ခုဖြစ်သည်။