အထူးသဖြင့်ရောနှောထားသောနံပါတ်များနှင့်အက္ခရာများပါ 0 င်သည့်ကြိုးများပါ 0 င်သည့်ကြိုးများကိုကိုင်တွယ်သောအခါ, ရိုးရာ string sorting နည်းလမ်းများသည်နံပါတ်များကိုဇာတ်ကောင်အမိန့်တွင်နှိုင်းယှဉ်ထားကြောင်း, လူသားများသည်သဘာဝအားဖြင့်မျိုးစိတ်များနှင့်အညီပိုမိုများပြားရန်အတွက် PHP သည်နံပါတ်များနှင့်အက္ခရာများအရအက္ခရာများနှင့်အက္ခရာများရောနှောနေသည့်အနေဖြင့်ခွဲထုတ်နိုင်သည့် strnatcasecmp function ကိုပိုမိုကောင်းမွန်အောင်ပြုလုပ်နိုင်သည်။
Strnatcasecmp သည် PHP တွင်တပ်ဆင်ထားသော function တစ်ခုဖြစ်သည်။ StrcMP (သို့) strcasecmp ကဲ့သို့သောပုံမှန် string နှိုင်းယှဉ်လုပ်ဆောင်ချက်များနှင့်မတူဘဲ Strnatcasecmp သည် ဂဏန်းများ၏အရွယ်အစားရှိသည့်နံပါတ်များကိုနံပါတ်များ၏အမှန်တကယ်အရွယ်အစားရှိသည့်နံပါတ်များကိုထည့်သွင်းစဉ်းစားပြီးနံပါတ်များ၏အရွယ်အစားအမှန်တကယ်အရွယ်အစားကိုထည့်သွင်းစဉ်းစားသည်။
strnatcasecmp ( string $str1 , string $str2 ) : int
$ str1 : ပထမ string ကို
$ str2 : ဒုတိယ string ကို
$ str1 သည် $ str2 နှင့်ညီသည်ဆိုပါက 0 င်ပါ။
အကယ်. ဒေါ်လာ str1 သည် ဒေါ်လာ str2 ထက်နည်းပါကအပျက်သဘောဆောင်သောတန်ဖိုးကိုပြန်ပို့သည်။
အကယ်. $ str1 သည် ဒေါ်လာ str2 ထက်ကြီးပါကအပြုသဘောဆောင်သောတန်ဖိုးကိုပြန်ပို့သည်။
များသောအားဖြင့်သဘာဝ sorting သည်အလွန်အရေးကြီးသည့်အောက်ပါအခြေအနေများကြုံတွေ့ရလေ့ရှိသည်။
File Name Sorting : ဥပမာအားဖြင့်ဖိုင်အမည်များမှာ File1.txt , file2.txt , file10.txt ဖြစ်သည်။ အကယ်. ရိုးရာ string sorting ကိုအသုံးပြုပါက file10.txt ကို file2.txt မတိုင်မီအဆင့်သတ်မှတ်မည်။ strnatcasecmp ကိုအသုံးပြုပြီးနောက် File10.txt ကို file2.txt ပြီးနောက်မှန်ကန်စွာအဆင့်သတ်မှတ်မည်။
ထုတ်ကုန်နံပါတ် sorting : prod100 , prod11 နှင့် prod2 ကဲ့သို့သောထုတ်ကုန်နံပါတ်များ။ string sorting ကိုလုပ်ဆောင်ပါက prod100 prod11 မတိုင်မီအဆင့်သတ်မှတ်မည်။ Strnatcasecmp ကိုအသုံးပြုပြီးတဲ့အခါသူတို့ကကျွန်တော်တို့မျှော်လင့်ထားတဲ့အမိန့်ကိုစီစဉ်ထားတယ်။
$files = ["file1.txt", "file12.txt", "file2.txt", "file10.txt"];
usort($files, 'strnatcasecmp');
print_r($files);
ရလဒ်ရလဒ် -
Array
(
[0] => file1.txt
[1] => file2.txt
[2] => file10.txt
[3] => file12.txt
)
အပေါ်ကပြထားတဲ့အတိုင်း Strnatcasecmp ဟာ ဇာတ်ကောင်အမိန့်ထက်ဂဏန်းအရွယ်အစားနဲ့ဖိုင်အမည်များကို sorts ။
$strings = ["abc10", "abc2", "abc1", "abc22"];
usort($strings, 'strnatcasecmp');
print_r($strings);
ရလဒ်ရလဒ် -
Array
(
[0] => abc1
[1] => abc2
[2] => abc10
[3] => abc22
)
ဤဥပမာတွင် string ထဲရှိကိန်းဂဏန်းအစိတ်အပိုင်းများကိုစာဖြင့်သာမဟုတ်ဘဲမှန်ကန်စွာခွဲခြားသတ်မှတ်ထားပြီးခွဲခြားထားသည်။
ကျွန်ုပ်တို့တွင် strnatcasecmp ကို အသုံးပြု. သဘာဝကျကျ sort လုပ်နိုင်သော URLs များပါ 0 င်သည်ဆိုပါစို့။ ဥပမာအားဖြင့်:
$urls = [
"https://gitbox.net/file10.txt",
"https://gitbox.net/file2.txt",
"https://gitbox.net/file1.txt",
"https://gitbox.net/file12.txt"
];
usort($urls, 'strnatcasecmp');
print_r($urls);
ရလဒ်ရလဒ် -
Array
(
[0] => https://gitbox.net/file1.txt
[1] => https://gitbox.net/file2.txt
[2] => https://gitbox.net/file10.txt
[3] => https://gitbox.net/file12.txt
)
ဤဥပမာတွင် URL ရှိဖိုင်အမည်အပိုင်း ( file1.txt , file2.txt ) ကိုသဘာဝအစီအစဉ်ဖြင့်စီစဉ်ထားသည်။
Strnatcasecmp သည် PHP တွင်အလွန်အသုံးဝင်သော function တစ်ခုဖြစ်သည်။ အထူးသဖြင့်ရောနှောထားသောနံပါတ်များနှင့်အက္ခရာများပါ 0 င်သောကြိုးများကိုကိုင်တွယ်ရန်သင့်တော်သည်။ ဒီ function ကိုမှတစ်ဆင့်ကျွန်ုပ်တို့သည်ရိုးရာ string sorting နည်းလမ်းများတွင်မမျှော်လင့်သောအပြုအမူများကိုရှောင်ရှားနိုင်သည်။ ဖိုင်အမည် sorting, product နံပါတ် sorting, or URL sorting, strnatcasecmp သည်ရောနှောထားသောနံပါတ်များနှင့်အက္ခရာများပြ problem နာကိုအလွယ်တကူဖြေရှင်းနိုင်သည်။
Strnatcasecmp ကိုအသုံးပြုပြီး code ၏ Readability နှင့်သုံးစွဲသူအတွေ့အကြုံကိုတိုးတက်အောင်လုပ်နိုင်လိမ့်မည်။