လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> သဘာဝ sorting filtering အတွက် strnatcasecmp နှင့် array_filter လုပ်ဆောင်ချက်များကိုမည်သို့အသုံးပြုရမည်နည်း။

သဘာဝ sorting filtering အတွက် strnatcasecmp နှင့် array_filter လုပ်ဆောင်ချက်များကိုမည်သို့အသုံးပြုရမည်နည်း။

gitbox 2025-05-20

PHP တွင် strnatcasecmp နှင့် array_filter လုပ်ဆောင်ချက်များသည်သဘာဝ sorting နှင့် array filtering အတွက်အလွန်လက်တွေ့ကျသောကိရိယာနှစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ပြီး, အထူးသဖြင့်ကြိုးများပါ 0 င်သည့် array များပါဝင်သောအခါ, သူတို့၏ပေါင်းစပ်သည်ကုဒ်၏ဖတ်နိုင်မှုနှင့်ထိရောက်မှုကိုများစွာတိုးတက်စေနိုင်သည်။

1 ။ strnatcasecmp function ကိုမိတ်ဆက်

strnatcasecmp function ကို strings နှစ်ခုကိုနှိုင်းယှဉ်ရန်နှင့် "သဘာဝ sorting" ၏အမိန့်ကိုအစဉ်လိုက်ပြန်ရန်အသုံးပြုသည်။ "သဘာဝ sorting" ဟုခေါ်သော "သဘာဝ sorting" ဆိုသည်မှာလူ့အလေ့အထများအရခွဲခြားခြင်းဖြစ်သည်။ ဥပမာအားဖြင့် string ကို "2" သည် "10" ၏ရှေ့တွင်ရှိလိမ့်မည်။ ဤလုပ်ဆောင်မှုသည်ကိစ္စရပ်ကိုလျစ်လျူရှုထားပြီးသဘာဝအစဉ်အဆက်တွင်ခွဲထားရန်လိုအပ်သည့်အမှုများကိုသင့်တော်သည်။

သဒ္ဒါ:

 strnatcasecmp(string $str1, string $str2): int
  • str1 : ပထမ string ကို။

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

ပြန်လာတန်ဖိုး - $ str1 သည် ဒေါ်လာ str2 ထက်နည်းလျှင်အနှုတ်လက်ခဏာနံပါတ်ကိုပြန်ပို့ပါ။ ညီမျှလျှင် 0 င်ဝင်ပါ။ အကယ်. ဒေါ်လာ str2 ထက်ကြီးလျှင်အပြုသဘောဆောင်သောနံပါတ်ကိုပြန်ပို့ပါ။

2 ။ array_filter function ကိုမိတ်ဆက်

array_filter function ကို etray တစ်ခုတွင် element များကို filter လုပ်ရန်အသုံးပြုသည်။ ပေးထားသော callback function ကိုအရလေ့လာမှုကိုဖြတ်ပြီးသတ်မှတ်ချက်များနှင့်ကိုက်ညီသောဒြပ်စင်များကိုပြန်ပို့သည်။ ဤလုပ်ဆောင်ချက်သည်အချို့သောစည်းမျဉ်းစည်းကမ်းများနှင့်ကိုက်ညီသော Array element များကိုစီရန်အလွန်သင့်လျော်သည်။

သဒ္ဒါ:

 array_filter(array $array, callable $callback, int $mode = 0): array
  • $ array : input array ။

  • $ callback : filtering အတွက်အသုံးပြု callback function ကို။ အကယ်. callback function ကိုမထောက်ပံ့ပါက array_filter သည် element အားလုံးကို မှားယွင်းသော တန်ဖိုးနှင့်ဖယ်ရှားပေးလိမ့်မည်။

  • $ mode : optional ကို array တစ်ခုတွင်သော့များကိုမည်သို့ကိုင်တွယ်ရမည်ကိုသတ်မှတ်ခြင်း, ပုံသေသည် 0 ဖြစ်သည်, ဆိုလိုသည်မှာမူရင်းခင်းကျင်းသောသော့များသည်အဓိကအားဖြင့်သိမ်းထားသည့်သော့များကိုဆိုလိုသည်။

ပြန်လာတန်ဖိုး - filtered ခင်းကျင်း။

3 ။ ဖာဘရောင်းသဘာဝ sorting နှင့် filtering ၏ဥပမာ

ကျွန်ုပ်တို့တွင်နံပါတ်များနှင့်အက္ခရာများရှိသောဖိုင်အမည်များပါ 0 င်သော array တစ်ခုရှိသည်ဆိုပါစို့။ ဤဖိုင်အမည်များကိုသဘာဝကျကျသော့ချက်စာလုံးများပါ 0 င်သောသဘာဝကျကျသော့ချက်စာလုံးများပါ 0 င်ရန်ကျွန်ုပ်တို့လိုချင်သည်။

နမူနာကုဒ်:

 <?php

// ကျွန်ုပ်တို့တွင်ဖိုင်အမည်များတစ်ခုရှိသည်ဆိုပါစို့
$files = [
    "file10.txt",
    "file2.txt",
    "file1.txt",
    "testFile1.txt",
    "testFile2.txt",
    "file20.txt"
];

// အသုံးပြုarray_filterပါဝင်မှုထွက် filter"test"ဖိုင်များ
$filteredFiles = array_filter($files, function($file) {
    return stripos($file, 'test') !== false;
});

// အသုံးပြုstrnatcasecmpသဘာဝ sorting လုပ်ပါ
usort($filteredFiles, 'strnatcasecmp');

// 输出筛选和排序后ဖိုင်များ列表
echo "筛选和排序后ဖိုင်များ列表:\n";
foreach ($filteredFiles as $file) {
    echo $file . "\n";
}

?>

code parsing:

  1. Filter Files : Array filter filter ကို filter လုပ်ဖို့ array_filter function ကိုသုံးပြီး "Test" ဆိုတဲ့ဖိုင်နာမည်ကို filter လုပ်တယ်။ File Name တွင် "Test" ပါ 0 င်မှုရှိမရှိအမှုစစ်ဆေးမှုများကိုလျစ်လျူရှုရန်အ မှု စစ်ဆေးမှုများကိုလျစ်လျူရှုရန်အသုံးပြုသည်။

  2. သဘာဝ sort : နောက်တစ်ခါစစ်ထုတ်ထားသောဖိုင်များကိုသဘာဝကျကျ sort လုပ်ရန် abort function ကိုသုံးပါ။ USARS သည် နှိုင်းယှဉ်ခြင်း function ကိုအငြင်းပွားမှုတစ်ခုအနေဖြင့်လက်ခံသည်

  3. ရလဒ် - နောက်ဆုံးတွင်ကျွန်ုပ်တို့သည် filtered နှင့် sorted file name ကို output လုပ်သည်။

ရလဒ်များအစက်အပြောက်:

 筛选和排序后ဖိုင်များ列表:
testFile1.txt
testFile2.txt

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

strnatcasecmp နှင့် array_filter functions များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အလွန်အဆင်ပြေစွာနှင့်သဘာဝအရခင်းကျင်းမှုတစ်ခုတွင် element များကို filter များပြုလုပ်နိုင်သည်။ Strnatcasecmp သည် လူ့ အလေ့အထများ၏အမျိုးအစားခွဲခြားမှုနည်းလမ်းကိုပေးသည်။ နှစ်ခုပေါင်းစပ်ခြင်းသည်ကျွန်ုပ်တို့၏ code ကိုရိုးရှင်းစေပြီး၎င်း၏ readability ကိုတိုးတက်စေနိုင်သည်။ စစ်ဆင်ရေးများကိုစီရန်လိုအပ်သည့်အခြေအနေအမျိုးမျိုးအတွက်သင့်တော်သည်။