လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ရဲ့ strnatcmp function ကိုဘယ်လိုသုံးရမလဲ။ လက်တွေ့ကျတဲ့နည်းလမ်းများအသေးစိတ်ရှင်းပြချက်

PHP ရဲ့ strnatcmp function ကိုဘယ်လိုသုံးရမလဲ။ လက်တွေ့ကျတဲ့နည်းလမ်းများအသေးစိတ်ရှင်းပြချက်

gitbox 2025-09-16

PHP ရဲ့ strnatcmp function ကိုဘယ်လိုသုံးရမလဲ။ လက်တွေ့ကျတဲ့နည်းလမ်းများအသေးစိတ်ရှင်းပြချက်

ဖွံ့ဖြိုးရေးစဉ်အတွင်းကျွန်ုပ်တို့သည်ကြိုးတစ်ချောင်းစီကိုစီရန်လိုအပ်သည်။ ရိုးရာ sorting နည်းလမ်းများသည်အမိန့်အတွက်ကြိုးများကိုအသုံးပြုပြီးတခါတရံတွင် "သဘာဝ sorting" စည်းမျဉ်းကိုအညီ, PHP သည်ကျွန်ုပ်တို့အားသဘာဝ sorting ကိုအကောင်အထည်ဖော်ရန်အလွန်အသုံးဝင်သော function strnatcmp () ကိုထောက်ပံ့ပေးသည်။

သဘာဝကဘာလဲ?

National Sorting ဆိုတဲ့နာမည်ကဆိုတဲ့အဆိုအရလူတွေကိုသမားရိုးကျနားလည်မှုအရဒေတာကို sorting ကိုရည်ညွှန်းတယ်။ ဥပမာအားဖြင့်ဖိုင်အမည်များကို sorting လုပ်နေစဉ် "file10" ကို "File2" နောက်မှ "file2" နောက်မှ "file2" ကိုနောက်လိုက်သင့်သည်။ ရိုးရာအဘိဓာန်များအလိုက်ရှာဖွေခြင်းစည်းမျဉ်းစည်းကမ်းများသည် "file20" ကို "file20" သည် "1" ထက်နည်းသောကြောင့် "1" သည် "2" ထက်နည်းသောကြောင့်သဘာဝ sorting ကိုကိန်းဂဏန်းအရွယ်အစားဖြင့်ခွဲထားလိမ့်မည်။

strnatcmp () function ကိုမိတ်ဆက်

PHP ၏ strnatcmp () function သည် stries နှစ်ခုကိုနှိုင်းယှဉ်ရန်အတွက်သဘာဝ sorting function ဖြစ်သည်။ ၎င်းသည် strcmp ()) နှင့်ဆင်တူသည်, သို့သော် strnatcmp () သည် string ၏အစိတ်အပိုင်းများကိုပိုမိုနားလည်သဘောပေါက်ခြင်း,

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">$str1</span></span><span> , </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str2</span></span><span> )
</span></span>
  • $ str1 နှင့် $ str2 - ဤ parametersced နှစ်ခုသည်နှိုင်းယှဉ်ရန်လိုအပ်သည့်ကြိုးနှစ်ချောင်းဖြစ်သည်။

  • ပြန်လာတန်ဖိုး - $ str1 ကို $ str2 မတိုင်မီအဆင့်သတ်မှတ်ထားပါက၎င်းသည်အနုတ်လက်ခဏာကိန်းတစ်ခုရရှိစေသည်။ အကယ်. $ str1 သည် ဒေါ်လာ str2 နှင့်ညီသည်ဆိုပါက 0 င်သည် 0; $ str1 ကို ဒေါ်လာ str2 ပြီးနောက်အဆင့်သတ်မှတ်ထားပါက၎င်းသည်အပြုသဘောဆောင်သောကိန်းတစ်ခုရရှိစေသည်။

ဘယ်လို strnatcmp () အလုပ်လုပ်တယ်

ရိုးရာ string နှိုင်းယှဉ်လုပ်ဆောင်ချက်များနှင့်မတူဘဲ strnatcmp () သည် ဂဏန်းအစိတ်အပိုင်းများကို string ထဲ၌ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်၎င်းတို့အားအမှန်တကယ်ကိန်းဂဏန်းအရွယ်အစားပေါ်မူတည်သည်။ နှိုင်းယှဉ်ရလဒ်များကိုစိတ်ပိုင်းဖြတ်သည်အထိကြိုးတစ်ချောင်းစီကိုတစ်ခုစီဖြင့်နှိုင်းယှဉ်ထားသည်။

ဥပမာအားဖြင့် "File10" နှင့် "File2" နှင့် "File2" , strnatcmp () strnatcmp ကိုနှိုင်းယှဉ်သောအခါ အက် ခရာအပိုင်းကိုပထမအကြိမ်နှိုင်းယှဉ်ခြင်းနှင့်နံပါတ်အပိုင်း 10 နှင့် 2 ကို နှိုင်းယှဉ်ကြည့်ပါ။ 10 ထက် ကြီးသည်, "File10" ကို "file2" နောက်တွင်ရှိသည်။

ဥပမာ - strnatcmp () ကို သဘာဝ sorting အတွက်ဘယ်လိုသုံးရမလဲ

ကျွန်ုပ်တို့သည် strnatcmp () ကို သုံးနိုင်သည်။ ဖိုင်အမည်များကိုခွဲခြားရန်ကုဒ်နံပါတ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// sorted ခံရဖို့ကြိုးများခင်းကျင်း</span></span><span>
</span><span><span class="hljs-variable">$fileNames</span></span><span> = [</span><span><span class="hljs-string">'file2.txt'</span></span><span>, </span><span><span class="hljs-string">'file10.txt'</span></span><span>, </span><span><span class="hljs-string">'file1.txt'</span></span><span>, </span><span><span class="hljs-string">'file12.txt'</span></span><span>, </span><span><span class="hljs-string">'file11.txt'</span></span><span>];

</span><span><span class="hljs-comment">// အသုံးပြုusort()ပေါင်းစပ်ထားသောstrnatcmp()သဘာဝ sorting လုပ်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">usort</span></span><span>(</span><span><span class="hljs-variable">$fileNames</span></span><span>, </span><span><span class="hljs-string">'strnatcmp'</span></span><span>);

</span><span><span class="hljs-comment">// output ကို sorted ရလဒ်များ</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$fileNames</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> . PHP_EOL;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ရလဒ်ရလဒ် -

 <span><span>file1.txt
file2.txt
file10.txt
file11.txt
file12.txt
</span></span>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်ဖိုင်အမည်များပါ 0 င်သော array တစ်ခုဖန်တီးပြီး abryort () function ကိုသုံးပါ။ အဆိုပါ sorted arrays ကျနော်တို့မျှော်လင့်ထားသည့်အမိန့်နှင့်အညီနေကြသည်နှင့်ကိန်းဂဏန်းအစိတ်အပိုင်းများကိုအရွယ်အစားစီစဉ်ထားသည်။

အခြားဆက်စပ်လုပ်ဆောင်ချက်များကို

strnatcmp () တွင် PHP သည် strnatcmp () function နှင့်ဆင်တူသည့် strnatcasecmp () သည် strnatcasecmp () ကိုထောက်ပံ့ပေးသည်။

ဥပမာ -

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 忽略大小写သဘာဝ sorting လုပ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$fileNames</span></span><span> = [</span><span><span class="hljs-string">'File2.txt'</span></span><span>, </span><span><span class="hljs-string">'file10.txt'</span></span><span>, </span><span><span class="hljs-string">'File1.txt'</span></span><span>, </span><span><span class="hljs-string">'file12.txt'</span></span><span>, </span><span><span class="hljs-string">'file11.txt'</span></span><span>];
</span><span><span class="hljs-title function_ invoke__">usort</span></span><span>(</span><span><span class="hljs-variable">$fileNames</span></span><span>, </span><span><span class="hljs-string">'strnatcasecmp'</span></span><span>);

</span><span><span class="hljs-comment">// output ကို sorted ရလဒ်များ</span></span><span>
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$fileNames</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> . PHP_EOL;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ရလဒ်ရလဒ် -

 <span><span>File1.txt
File2.txt
file10.txt
file11.txt
file12.txt
</span></span>

နိဂုံးချုပ်အားဖြင့်

Strnatcmp () နှင့် strnatcasecmp ကို အသုံးပြုခြင်းဖြင့်ကျွန်ုပ်တို့သည်နံပါတ်များပါ 0 င်သောကြိုးများကိုအလွယ်တကူပြုလုပ်နိုင်သည်, ဤလုပ်ဆောင်ချက်များသည် File Name Sorting, Version Note နှိုင်းယှဉ်ခြင်းစသည့်အခြေအနေများအတွက်အလွန်သင့်လျော်သည်။ ၎င်းသည်သဘာဝ sorting လိုအပ်သည်။

ဤဆောင်းပါးသည် PHP ရှိသဘာဝ sorting လုပ်ဆောင်ချက်များနှင့်၎င်းတို့၏လျှောက်လွှာများကိုပိုမိုနားလည်သဘောပေါက်ရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုနားလည်ရန်ကူညီနိုင်သည်ဟုကျွန်ုပ်မျှော်လင့်ပါသည်။