အခြေအနေအတော်များများတွင်ကျွန်ုပ်တို့သည်ဖိုင်အမည်ဖြင့်စီရန်လိုအပ်သည်။ ထိုကဲ့သို့သောအဘိဓာန် sorting အဖြစ်ဘုံအမျိုးအစားများကိုမမျှော်လင့်သောရလဒ်များဖြစ်ပေါ်စေနိုင်သည်။ ဥပမာအားဖြင့်, ဖိုင် 2.txt သည် " 2" သည် "1" ထက်သေးငယ်သည်။ သို့သော်အသုံးပြုသူများသည်များသောအားဖြင့်ဖိုင်အမည်များကိုကိန်းဂဏန်းအမှာစာဖြင့်ခွဲထားလိုသည်။ I.E. file2.txt ကို File10.txt ဟုခေါ်သည်။
PHP တွင် strnatcasecmp လုပ်ဆောင်ချက်သည်ဤလိုအပ်ချက်ကိုဖြည့်ဆည်းရန်ဒီဇိုင်းပြုလုပ်ထားသည်။ ၎င်းသည်ကြိုးနှစ်ချောင်းကိုနှိုင်းယှဉ်နိုင်ပြီးသဘာဝ sorting စည်းမျဉ်းများအရ၎င်းတို့ကိုစီပါ။ strnatcasecmp သည် "case-case-canning insensitic" သဘာဝ sorting method တစ်ခုဖြစ်သည်။
သဘာဝ sorting သည်လူ့အလိုအလျောက် sorting အပေါ်အခြေခံသည်။ ဥပမာအားဖြင့် File Name1 , File2 , File10 ဖိုင်တွင်သဘာဝတွင်အမျိုးအစားခွဲခြင်း၏ရလဒ်မှာ -
file1
file2
file10
အဘိဓာန်အမျိုးအစားခွဲခြင်း၏ -
file1
file10
file2
Strnatcasecmp သည် PHP တွင်အလွန်အသုံးဝင်သော function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
int strnatcasecmp ( string $string1 , string $string2 )
$ string1 နှင့် $ string2 သည်နှိုင်းယှဉ်ရန်ကြိုးနှစ်ချောင်းရှိသည်။
function ကိုပြန်လာတန်ဖိုး -
အကယ်. $ string1 သည် $ string2 ထက်နည်းပါကအနုတ်လက်ခဏာတစ်ခုသို့ပြန်ပို့သည်။
အကယ်. $ string1 သည် $ string2 နှင့်ညီသည်ဆိုပါစို့။
အကယ်. $ string1 သည် $ string2 ထက်ကြီးပါကအပြုသဘောဆောင်သောကိန်းရှင်များပြန်လာသည်။
ဒီ function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ဖိုင်အမည်များ၏သဘာဝအမျိုးအစားကိုအလွယ်တကူအကောင်အထည်ဖော်နိုင်သည်။ File အမည်များကို strnatcasecmp ကို ဘယ်လိုအမျိုးအစားခွဲခြားရမယ်ဆိုတာပြသတဲ့ဥပမာတစ်ခုပါ။
ကျွန်ုပ်တို့တွင်အောက်ပါဖိုင်အမည်ရှိသည်ဆိုပါစို့။
$files = ['file10.txt', 'file2.txt', 'file1.txt', 'file20.txt', 'file11.txt'];
ဤဖိုင်အမည်များကိုသဘာဝကျကျ sort လုပ်လိုပါသည်။ ထို့ကြောင့်ဖိုင်အမည်များကိုကိန်းဂဏန်းအမှာစာတွင်စီစဉ်ထားသည်။ အောင်မြင်ရန် strnatcasecmp ကို သုံးနိုင်သည်။
<?php
$files = ['file10.txt', 'file2.txt', 'file1.txt', 'file20.txt', 'file11.txt'];
// အသုံးပြု usort နှင့် strnatcasecmp သဘာဝ sorting လုပ်ပါ
usort($files, 'strnatcasecmp');
// sorted file name output ကို output
print_r($files);
?>
Filenames $ files များကို ကျွန်ုပ်တို့သတ်မှတ်သည်။
ခင်းကျင်းမှုကိုလက်ခံ သည့် array နှင့် callback function ကို parameter များအဖြစ်လက်ခံရန် abort function ကိုသုံးပါ။ ဤနေရာတွင်ကျွန်ုပ်တို့သည် strnatcasecmp ကို CallbackCAST သို့ပို့ဆောင်ခြင်းအတွက် pass ကိုဖြတ်သန်းသွားသည်။
Sorting ပြီးစီးပြီးနောက် $ files array ရှိဖိုင်အမည်များကိုသဘာဝ sorting စည်းမျဉ်းများအရစီစဉ်လိမ့်မည်။
Array
(
[0] => file1.txt
[1] => file2.txt
[2] => file10.txt
[3] => file11.txt
[4] => file20.txt
)
သင်မြင်နိုင်သည့်အတိုင်းဖိုင်အမည်များကိုနံပါတ်များအလိုက်ခွဲထားပြီးဖြစ်သည်။ ဤနည်းအားဖြင့် File2.txt သည် File10.txt ၏ရှေ့တွင်ရှိသည်။
strnatcmp နှင့် strnatcasecmp သည် PHP တွင် PHP တွင်အသုံးပြုသောလုပ်ဆောင်ချက်များကိုသဘာဝ sorting အတွက်အသုံးပြုသည်။ နှစ်ခုအကြားခြားနားချက်မှာ -
strnatcmp သည်စာလုံးအကြီးအသေးအရေးကြီးသည်။
strnatcasecmp ကိစ္စ - အာရုံမခံစားနိုင်။
ဖိုင်အမည်များတွင်ကိစ္စရပ်များကိုသင်လျစ်လျူရှုလိုပါက strnatcasecmp ကို သုံးနိုင်သည်။ ဒီလိုမှမဟုတ်ရင် strnatcmp ကို သုံးရန်သင်ရွေးချယ်နိုင်သည်။
StrcMP ကဲ့သို့သောသာမန် string နှိုင်းယှဉ်လုပ်ဆောင်မှုများကိုအသုံးပြုသောအခါ "File2.txt" နှင့် "file10.txt" ကဲ့သို့သောပြ problems နာများကိုသင်ကြုံတွေ့ရနိုင်သည်။ strnatcasecmp သည် strings များကိုကိန်းဂဏန်းအမှာစာနှင့်နှိုင်းယှဉ်နိုင်သည်။