PHP တွင် strnatcmp သည် strnatcmp သည် "သဘာဝကျကျခွဲထားသည့်" ကိုနှိုင်းယှဉ်ရန်အသုံးပြုနိုင်သောအလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်ဖြစ်သည်။ သဘာဝ sorting သည်နံပါတ်များ၏အမှန်တကယ်အရွယ်အစားဖြင့်ခွဲခြားထားခြင်းဖြစ်သည်။ အထူးသဖြင့်အသုံးပြုသူ input ကိုနှိုင်းယှဉ်ဖို့လိုသည့်အခါနံပါတ်များပါ 0 င်သည့်ကြိုးများနှင့်ဆက်ဆံရာတွင်ဤချဉ်းကပ်မှုသည်အထူးသဖြင့်အသုံးဝင်သည်။ ဤဆောင်းပါးသည်အသုံးပြုသူမှ 0 င် ရောက်သော string ကိုစံသတ်မှတ်ရန်နှင့်၎င်း၏ application ဇာတ်လမ်းကိုပြသရန်ဥပမာအချို့ကိုအသုံးပြုရမည်ကိုဤဆောင်းပါးကမိတ်ဆက်ပေးလိမ့်မည်။
StrnatcMP သည် PHP တွင်ကြိုးနှစ်ချောင်းကိုနှိုင်းယှဉ်ရန် function တစ်ခုဖြစ်သည်။ StrcMP ကဲ့သို့သောသာမန် string နှိုင်းယှဉ်လုပ်ဆောင်ချက်များနှင့်မတူဘဲ strnatcmp သည် နံပါတ်များ၏အရွယ်အစားကိုထည့်သွင်းစဉ်းစားသည်။ ဆိုလိုသည်မှာသဘာဝအားဖြင့် "10" သည်ပကတိနှိုင်းယှဉ်မှုထက် "2" ထက် သာ. ကြီးမြတ်မည်ဟုဆိုလိုသည်။
function ကိုလက်မှတ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">strnatcmp</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string1</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string2</span></span><span> )
</span></span>
Return Value : string ၏နှိုင်းယှဉ်ချက်ကိုကိုယ်စားပြုသည့်ကိန်းဂဏန်းကိုပြန်ပို့ပါ။
Reward အနုတ်လက်ခဏာနံပါတ် - $ string1 သည် $ string2 ထက်နည်းသည်
အပြုသဘောဆောင်သောနံပါတ်ကိုပြန်ပို့ပါ။ ဆိုလိုသည်မှာ $ string1 သည် $ string2 ထက်ကြီးသည်
ပြန်လာ 0: ဆိုလိုသည်မှာ strings နှစ်ခုသည်တန်းတူဖြစ်သည်
ရိုးရာ String နှိုင်းယှဉ်ခြင်းလုပ်ငန်းများ ( STRCMP ကဲ့သို့သော) သည်နံပါတ်များပါ 0 င်သည့်ကြိုးများနှင့်နှိုင်းယှဉ်လျှင်ပင်ကိုယ်နှိတိုးလိုသောရလဒ်များထုတ်လုပ်နိုင်သည်။ ဥပမာအားဖြင့်:
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcmp</span></span><span>(</span><span><span class="hljs-string">'10'</span></span><span>, </span><span><span class="hljs-string">'2'</span></span><span>); </span><span><span class="hljs-comment">// အပြုသဘောနံပါတ် output ကို</span></span><span>
</span></span>
ဤအချက်သည် 10 ထက် ကြီးသည်ဟုဆိုသည်, သို့သော်သဘာဝ sorting ၏အခြေအနေတွင်နံပါတ် 10 သည် 2 ပြီးနောက်ဖြစ်သင့်သည်။ Stranatcmp သည် ဤပြ problem နာကိုဖြေရှင်းနိုင်သည်။
<span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strnatcmp</span></span><span>(</span><span><span class="hljs-string">'10'</span></span><span>, </span><span><span class="hljs-string">'2'</span></span><span>); </span><span><span class="hljs-comment">// output ကိုအနုတ်နံပါတ်,ညှစ် '10' ထက်နည်းသော '2'</span></span><span>
</span></span>
သင်အသုံးပြုနေသောပုံစံ (ဖိုင်အမည်, ဗားရှင်းနံပါတ်သို့မဟုတ်နံပါတ်များပါ 0 င်သည့်အခြားကြိုးများပါ 0 င်သည့်ပုံစံများ) ထဲသို့ 0 င်ရောက်သောပုံစံကိုသင်လုပ်ဆောင်နေသည်ဆိုပါစို့။ strnatcmp ကို အသုံးပြုခြင်းသည်သင့်အားဤကြိုးများကိုသဘာဝ sorting အရကျိုးကြောင်းဆီလျော်စွာခွဲခြားရန်ခွင့်ပြုသည်။
<span><span><span class="hljs-comment">// အသုံးပြုသူသည်အောက်ပါဖိုင်အမည်ကိုထည့်သွင်းထားသည်ဆိုပါစို့</span></span><span>
</span><span><span class="hljs-variable">$files</span></span><span> = [</span><span><span class="hljs-string">'file10.txt'</span></span><span>, </span><span><span class="hljs-string">'file2.txt'</span></span><span>, </span><span><span class="hljs-string">'file1.txt'</span></span><span>, </span><span><span class="hljs-string">'file20.txt'</span></span><span>];
</span><span><span class="hljs-comment">// အသုံးပြု usort နှင့် strnatcmp သဘာဝကျကျ sort ရန်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">usort</span></span><span>(</span><span><span class="hljs-variable">$files</span></span><span>, </span><span><span class="hljs-string">'strnatcmp'</span></span><span>);
</span><span><span class="hljs-comment">// sorted file name output ကို output</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$files</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$file</span></span><span> . </span><span><span class="hljs-string">"\n"</span></span><span>;
}
</span></span>
ရလဒ်ရလဒ် -
<span><span>file1.txt
file2.txt
file10.txt
file20.txt
</span></span>
ဤဥပမာတွင် strnatcmp သည် ဖိုင်အမည်များကိုစာလုံးအရွယ်အစားများဖြင့်ခွဲခြားထားကြောင်းဇာတ်ကောင်များမဟုတ်ဘဲနံပါတ်များကိုခွဲခြားထားသည်။
နောက်ထပ်ဘုံအသုံးပြုမှုမြင်ကွင်းသည်ဗားရှင်းနံပါတ်များကိုနှိုင်းယှဉ်ရန်ဖြစ်သည်။ အသုံးပြုသူသည်ဗားရှင်းနံပါတ်နှစ်ခုကိုထည့်သွင်းထားပြီး၎င်းတို့၏အရွယ်အစားများကိုနှိုင်းယှဉ်ချင်သည်ဆိုပါစို့။
<span><span><span class="hljs-variable">$version1</span></span><span> = </span><span><span class="hljs-string">'1.10.2'</span></span><span>;
</span><span><span class="hljs-variable">$version2</span></span><span> = </span><span><span class="hljs-string">'1.9.9'</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strnatcmp</span></span><span>(</span><span><span class="hljs-variable">$version1</span></span><span>, </span><span><span class="hljs-variable">$version2</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> < </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$version1</span></span></span><span> is less than </span><span><span class="hljs-subst">$version2</span></span><span>\n";
} </span><span><span class="hljs-keyword">elseif</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span> > </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$version1</span></span></span><span> is greater than </span><span><span class="hljs-subst">$version2</span></span><span>\n";
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$version1</span></span></span><span> is equal to </span><span><span class="hljs-subst">$version2</span></span><span>\n";
}
</span></span>
ရလဒ်ရလဒ် -
<span><span><span class="hljs-number">1.10</span></span><span><span class="hljs-number">.2</span></span><span> </span><span><span class="hljs-keyword">is</span></span><span> greater than </span><span><span class="hljs-number">1.9</span></span><span><span class="hljs-number">.9</span></span><span>
</span></span>
strnatcmp မှတစ်ဆင့်ကျွန်ုပ်တို့သည်ဗားရှင်းနံပါတ်များကိုတိကျစွာနှိုင်းယှဉ်နိုင်သည်,
အသုံးပြုသူ input ကိုစစ်ဆေးခြင်း - အသုံးပြုသူများမှ 0 င်ရောက်သောကြိုးများကိုထုတ်ယူခြင်း, strnatcmp သည် ကြိုးများအရွယ်အစားနှင့်အညီသင့်အားကျိုးကြောင်းဆီလျော်စွာနှင့်သုံးစွဲသူအတွေ့အကြုံကိုတိုးတက်စေရန်သင့်အားကူညီနိုင်သည်။
Filename Sorting : strnatcmp သည် Filenames အစုတခုစီကိုစီရန်လိုအပ်သည့်အခါအထူးသဖြင့် filename တွင်ပါ 0 င်ပါက။
ဗားရှင်းနံပါတ်စီမံခန့်ခွဲမှု - ဆော့ဖ်ဝဲဗားရှင်းနံပါတ်များကိုစီမံခန့်ခွဲရန်လိုအပ်သည့်စနစ်များအတွက် severy များများအတွက် strnatcmp သည် ဗားရှင်းကိန်းဂဏန်းများကိုနှိုင်းယှဉ်ခြင်းထက်ဂဏန်းများ၏အရွယ်အစားကိုအခြေခံသည်။
StrnatcMP function သည်ကြိုးကြိုးများကိုသဘာဝကျကျစီနိုင်ပြီးနံပါတ်များပါ 0 င်သောကြိုးများကိုကိုင်တွယ်ရန်အထူးသဖြင့်သင့်လျော်သည်။ ၎င်းသည်လူသားတို့၏သဘာဝ sorting စည်းမျဉ်းများနှင့်အညီပုံမှန်အတိုင်းနှိုင်းယှဉ်ခြင်းလုပ်ဆောင်ချက်များထက်ပိုမိုကိုက်ညီသည်။ ဤဆောင်းပါး၏နိဒါန်းမှတစ်ဆင့် StrnatcMP ၏အားသာချက်များကိုလက်တွေ့ကျသော application များအရ,