PHP တွင် strnatcasecmp နှင့် array_filter လုပ်ဆောင်ချက်များသည်သဘာဝ sorting နှင့် array filtering အတွက်အလွန်လက်တွေ့ကျသောကိရိယာနှစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ပြီး, အထူးသဖြင့်ကြိုးများပါ 0 င်သည့် array များပါဝင်သောအခါ, သူတို့၏ပေါင်းစပ်သည်ကုဒ်၏ဖတ်နိုင်မှုနှင့်ထိရောက်မှုကိုများစွာတိုးတက်စေနိုင်သည်။
strnatcasecmp function ကို strings နှစ်ခုကိုနှိုင်းယှဉ်ရန်နှင့် "သဘာဝ sorting" ၏အမိန့်ကိုအစဉ်လိုက်ပြန်ရန်အသုံးပြုသည်။ "သဘာဝ sorting" ဟုခေါ်သော "သဘာဝ sorting" ဆိုသည်မှာလူ့အလေ့အထများအရခွဲခြားခြင်းဖြစ်သည်။ ဥပမာအားဖြင့် string ကို "2" သည် "10" ၏ရှေ့တွင်ရှိလိမ့်မည်။ ဤလုပ်ဆောင်မှုသည်ကိစ္စရပ်ကိုလျစ်လျူရှုထားပြီးသဘာဝအစဉ်အဆက်တွင်ခွဲထားရန်လိုအပ်သည့်အမှုများကိုသင့်တော်သည်။
strnatcasecmp(string $str1, string $str2): int
str1 : ပထမ string ကို။
str2 : ဒုတိယ string ကို။
ပြန်လာတန်ဖိုး - $ str1 သည် ဒေါ်လာ str2 ထက်နည်းလျှင်အနှုတ်လက်ခဏာနံပါတ်ကိုပြန်ပို့ပါ။ ညီမျှလျှင် 0 င်ဝင်ပါ။ အကယ်. ဒေါ်လာ str2 ထက်ကြီးလျှင်အပြုသဘောဆောင်သောနံပါတ်ကိုပြန်ပို့ပါ။
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 ခင်းကျင်း။
ကျွန်ုပ်တို့တွင်နံပါတ်များနှင့်အက္ခရာများရှိသောဖိုင်အမည်များပါ 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";
}
?>
Filter Files : Array filter filter ကို filter လုပ်ဖို့ array_filter function ကိုသုံးပြီး "Test" ဆိုတဲ့ဖိုင်နာမည်ကို filter လုပ်တယ်။ File Name တွင် "Test" ပါ 0 င်မှုရှိမရှိအမှုစစ်ဆေးမှုများကိုလျစ်လျူရှုရန်အ မှု စစ်ဆေးမှုများကိုလျစ်လျူရှုရန်အသုံးပြုသည်။
သဘာဝ sort : နောက်တစ်ခါစစ်ထုတ်ထားသောဖိုင်များကိုသဘာဝကျကျ sort လုပ်ရန် abort function ကိုသုံးပါ။ USARS သည် နှိုင်းယှဉ်ခြင်း function ကိုအငြင်းပွားမှုတစ်ခုအနေဖြင့်လက်ခံသည် ။
ရလဒ် - နောက်ဆုံးတွင်ကျွန်ုပ်တို့သည် filtered နှင့် sorted file name ကို output လုပ်သည်။
筛选和排序后ဖိုင်များ列表:
testFile1.txt
testFile2.txt
strnatcasecmp နှင့် array_filter functions များကိုပေါင်းစပ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အလွန်အဆင်ပြေစွာနှင့်သဘာဝအရခင်းကျင်းမှုတစ်ခုတွင် element များကို filter များပြုလုပ်နိုင်သည်။ Strnatcasecmp သည် လူ့ အလေ့အထများ၏အမျိုးအစားခွဲခြားမှုနည်းလမ်းကိုပေးသည်။ နှစ်ခုပေါင်းစပ်ခြင်းသည်ကျွန်ုပ်တို့၏ code ကိုရိုးရှင်းစေပြီး၎င်း၏ readability ကိုတိုးတက်စေနိုင်သည်။ စစ်ဆင်ရေးများကိုစီရန်လိုအပ်သည့်အခြေအနေအမျိုးမျိုးအတွက်သင့်တော်သည်။