PHP တွင် strnatcasecmp သည် strnatcasecmp သည် strings များကိုသဘာဝကျကျပြုလုပ်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဤဆောင်းပါးတွင်ဤလုပ်ငန်းဆောင်တာများကို arrays ၏သဘာဝ sorting function ကိုအကောင်အထည်ဖော်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုပေါင်းစပ်ပါမည်။ သဘာဝ sorting ဆိုသည်မှာလူသားများကလူတို့အားခွဲဝေခြင်းကိုဆိုလိုသည်။ နံပါတ်များသည်နံပါတ်များကိုနံပါတ်များ၏အရွယ်အစားဖြင့်ခွဲခြားထားသည်။ ဥပမာ string arrays sorting ကို sorting လုပ်သည့်အခါ "2" ကို "10" မတိုင်မီတွင်အက္ခရာစဉ်ထက်အဆင့်သတ်မှတ်မည်။
Strnatcasecmp သည် strcmp နှင့်ဆင်တူသည့် PHP တွင် string နှိုင်းယှဉ်ခြင်း function တစ်ခုဖြစ်သည်။ သို့သော်၎င်းသည် "သဘာဝအစီအစဉ်" တွင်ကြိုးများနှင့်ဆင်တူသည်။ အကယ်. string တစ်ခုတွင်နံပါတ်များပါ 0 င်ပါက၎င်းသည်နံပါတ်များ၏အရွယ်အစားအမှန်တကယ်နှင့်အညီတစ်ပြိုင်နက်တစ်ပြိုင်နက်နှိုင်းယှဉ်ရုံမျှသာမဟုတ်ပါ။ ဥပမာအားဖြင့်:
"10" "2" နောက်ကွယ်မှဖြစ်လိမ့်မည်။
"A10" "A2" နောက်ကွယ်မှဖြစ်လိမ့်မည်။
လုပ်ဆောင်ချက်များ၏အခြေခံအသုံးပြုမှုမှာ -
int strnatcasecmp ( string $str1 , string $str2 )
ဒီ function ကကိန်းဂဏန်းတစ်ခုကကိန်းဂဏန်းကိုပြန်ပို့ပေးတယ်။ အကယ်. $ str1 သည် ဒေါ်လာ str2 ထက်နည်းလျှင်၎င်းသည်အနုတ်လက်ခဏာတန်ဖိုးကိုပြန်လည်ရရှိစေသည်။ အကယ်. $ str1 သည် ဒေါ်လာ str2 နှင့်ညီသည်ဆိုပါက 0 င်သည် 0; အကယ်. $ str1 သည် ဒေါ်လာ str2 ထက်ကြီးပါက၎င်းသည်အပြုသဘောဆောင်သောတန်ဖိုးကိုပြန်လည်ရောက်ရှိစေသည်။
USARES သည် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ၎င်းသည်သတ်မှတ်ထားသောနှိုင်းယှဉ်မှုဆိုင်ရာစည်းမျဉ်းစည်းကမ်းများအရ Arrays များကိုစီရန်အသုံးပြုသည်။ USARESARES သည် အမိန့်ဆိုင်ရာစည်းမျဉ်းများကိုသတ်မှတ်ရန် callback function ကိုလိုအပ်သည်။ strnatcasecmp ကို callback function ကို callback function ကို arrays arrays ကိုအကောင်အထည်ဖော်ရန်အသုံးပြုနိုင်သည်။
ငါတို့မှာကြိုးတွေပါဝင်တဲ့နေရာတစ်ခုရှိတယ်ဆိုပါစို့။
<?php
// မူရင်းခင်းကျင်း
$array = ['10', '2', '1', '20', '100', '11'];
// အသုံးပြု usort နှင့် strnatcasecmp သဘာဝ sorting လုပ်ပါ
usort($array, 'strnatcasecmp');
// print sorted ခင်းကျင်း
print_r($array);
?>
Array
(
[0] => 1
[1] => 2
[2] => 10
[3] => 11
[4] => 20
[5] => 100
)
သင်မြင်နိုင်သည်အတိုင်းခင်းကျင်းရှိဒြပ်စင်များကိုသဘာဝအမိန့်တွင်ခွဲထားသည်။
အကယ်. ခင်းကျင်းနေသော etray တွင် URLs များပါ 0 င်ပါကသင်သည်ဤ URL များကိုသဘာဝအမိန့်ဖြင့်ခွဲထားလိုပေမည်။ ဤကိစ္စတွင် URL ၏ string အပိုင်းကိုနှိုင်းယှဉ်ရန် strnatcasecmp ကို သုံးနိုင်သည်။ ကျွန်ုပ်တို့တွင် URL ခင်းကျင်းမှုတစ်ခုရှိသည်ဆိုပါစို့။ Domain Name အတွက်အစားထိုးလိုအပ်ချက်မှာ url domains အားလုံးကို url domains အားလုံးကိုအစားထိုးရန်ဖြစ်သည် ။
<?php
// မူရင်းခင်းကျင်း,ပါဝင် URL
$array = [
'https://example.com/page/10',
'https://example.com/page/2',
'https://example.com/page/100',
'https://example.com/page/11'
];
// 定义一个自定义函数来ဒိုမိန်းအမည်ကိုအစားထိုးပါ并သဘာဝ sorting လုပ်ပါ
function replaceAndCompare($a, $b) {
// ဒိုမိန်းအမည်ကိုအစားထိုးပါ
$a = str_replace('example.com', 'gitbox.net', $a);
$b = str_replace('example.com', 'gitbox.net', $b);
// အသုံးပြု strnatcasecmp သဘာဝ sorting လုပ်ပါ比较
return strnatcasecmp($a, $b);
}
// အသုံးပြု usort နှင့်自定义的替换比较函数进行排序
usort($array, 'replaceAndCompare');
// print sorted ခင်းကျင်း
print_r($array);
?>
Array
(
[0] => https://gitbox.net/page/2
[1] => https://gitbox.net/page/10
[2] => https://gitbox.net/page/11
[3] => https://gitbox.net/page/100
)
ဤနည်းအားဖြင့်ခင်းကျင်းရှိ URLs များကို domain name ဖြင့်အစားထိုးထားပြီးသဘာဝအမိန့်တွင်စီကြည့်ရှုသည်။
ဤဆောင်းပါးသည် PHP တွင် strnatcasecmp function ကို PHP နှင့် aberort function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးသည်။ Array တစ်ခုစီကို sorting လုပ်တဲ့အခါ urray မှာ URL ရှိတယ်ဆိုရင် SMART CRING ကိုအစားထိုးခြင်း (ဥပမာ - gitbox.net မှ throught.com ကိုအစားထိုးခြင်း) ကိုပြောင်းပါ။