သဘာဝ Sort သည်စာနယ်ဇင်းများ၏စာသားအတိုင်းအလိုက်ခွဲနေသည့်နည်းလမ်းဖြစ်သည်။ ရိုးရာအက္ခရာစဉ်နှင့်မတူဘဲ Natsort () Natsort () သည် နံပါတ်များ၏အရွယ်အစားဆက်နွယ်မှုကိုထည့်သွင်းစဉ်းစားသည်။ ဥပမာအားဖြင့်:
File1.txt သည် File2.txt ၏ရှေ့တွင်ရှိသည်
File10.txt သည် File2.txt နောက်တွင်ရှိသည်
ဒီ sorting နည်းလမ်းသည်ကျွန်ုပ်တို့၏နေ့စဉ်စဉ်းစားတွေးခေါ်ပုံထက်ရိုးရှင်းသောအက္ခရာစဉ်ထက်ပိုမိုကိုက်ညီသည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်ဖိုင်အမည်များပါ 0 င်သည်။ ယေဘူယျအားဖြင့်ကျွန်ုပ်တို့သည် directory တွင်ဖိုင်အမည်များအားလုံးကိုရယူရန် scandir () function ကိုသုံးနိုင်သည်။
$files = scandir('path/to/your/directory');
ဤကုဒ်သည် directory ရှိဖိုင်များနှင့် subdirectories အားလုံး၏အမည်များပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ သတိပြုရန် သတိပြုပါ () သည် အထူးလမ်းညွှန်နှစ်ခုကိုပြန်ပေးလိမ့်မည်ကိုသတိပြုပါ ။ နှင့် .. ပုံမှန်အားဖြင့်ကျနော်တို့သူတို့ကို filter လုပ်ဖို့လိုအပ်ကောင်းလိုအပ်နိုင်ပါသည်။
Filename Array ကိုကျွန်ုပ်တို့ရရှိပြီးသည်နှင့် Natsort () function ကို sort လုပ်ရန် Natsort () function ကိုခေါ်နိုင်သည်။
natsort($files);
Natsort () သည် ဖိုင်အမည်များကိုသဘာဝကျကျခွဲထုတ်မည်ဖြစ်ပြီး "file1.txt" သည် "file10.txt" ၏ရှေ့တွင်ရှိသည်။
Sorting ပြီးစီးပြီးနောက် foreach loop မှတစ်ဆင့် sorted file name ကို output လုပ်နိုင်သည်။
foreach ($files as $file) {
echo $file . "\n";
}
ဤနည်းအားဖြင့်သင်သည်သဘာဝအမိန့်တွင်စီစဉ်ထားသည့်ဖိုင်အမည်များစာရင်းကိုသင်တွေ့နိုင်သည်။
အထက်ပါအဆင့်များကိုပေါင်းစပ်ပြီး, နောက်ဆုံးကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<?php
// directory ထဲတွင်ဖိုင်အားလုံးကိုရယူပါ
$files = scandir('path/to/your/directory');
// ရေွှ့ . နှင့် .. မာတိကာ
$files = array_diff($files, array('.', '..'));
// အသုံးပြု natsort ဖိုင်အမည်များကိုစီပါ
natsort($files);
// sorted file name output ကို output
foreach ($files as $file) {
echo $file . "\n";
}
?>
directory တွင်အောက်ပါဖိုင်များရှိသည်ဆိုပါစို့။
file1.txt
file10.txt
file2.txt
file20.txt
Natsort () ကိုခွဲထုတ်ပြီးနောက် output ကိုဖြစ်လိမ့်မည် -
file1.txt
file2.txt
file10.txt
file20.txt
Natsort () function သည်မူရင်းခင်းကျင်းမှုကိုတိုက်ရိုက်ပြုပြင်သည်။ ထို့ကြောင့်မခေါ်မီခင်းကျင်းမှုအသစ်ကိုတန်ဖိုးရှိရန်မလိုအပ်ပါ။
အကယ်. သင်သည်ပြောင်းပြန် sorting လိုအပ်ပါက Natsort () ကို သုံး. ၎င်းကို sort လုပ်ရန်, ထို့နောက် Array_Reverse () function ကိုသုံးနိုင်သည်။
Natsort () သည်စာလုံးအကြီးအသေးအရေးမကြီးပါ။ ဖိုင်အမည်တွင်စာလုံးအကြီးများပါ 0 င်ပါကရလဒ်အမျိုးအစားကိုအကျိုးသက်ရောက်နိုင်သည်။ သင်အမှု sorting ကိုလျစ်လျူရှုရန်လိုအပ်ပါက Natsort () မခေါ်မီဖိုင်အမည်ကို unified စာလုံးအသေးသို့ပြောင်းလဲနိုင်သည်။
ဥပမာအားဖြင့်:
// ဖိုင်အမည်ကိုစာလုံးအသေးအဖြစ်ပြောင်းပါ
$files = array_map('strtolower', $files);
natsort($files);