When processing arrays in PHP, two very practical functions are often used: array_change_key_case() and array_filter() . ဤရွေ့ကားနှစ်ခုလုပ်ဆောင်ချက်များကိုပေါင်းလဒ်အတွက်အသုံးပြုကြသည်။ developer များစွာသည်ဤလုပ်ဆောင်မှုနှစ်ခုကိုအသုံးပြုသောအခါဤလုပ်ဆောင်ချက်နှစ်ခုကိုအသုံးပြုသောအခါဤလုပ်ဆောင်ချက်နှစ်ခုကိုခေါ်ဆိုမှုအမိန့်သည်အရေးကြီးပါသလား။ နောက်ဆုံးအပြောင်းအလဲနဲ့ရလဒ်တွေကိုအကျိုးသက်ရောက်မလား။
ဤဆောင်းပါးသည်ဆန်းစစ်ခြင်းနှင့်ဥပမာများမှတဆင့်ဤမေးခွန်းကိုဖြေဆိုပါလိမ့်မည်။
ဤလုပ်ဆောင်ချက်သည် အရေးပါသောအမည်များကို စာလုံးအကြီးများသို့မဟုတ်စာလုံးအကြီးအားလုံးကိုပြောင်းလဲရန်နှင့်အောက်ပါအတိုင်းအသုံးပြုသည်။
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ အစ်ကိုသည် case_ leower (default) သို့မဟုတ် case_upper ဖြစ်နိုင်သည်။
ဥပမာ -
$arr = ['Name' => 'Tom', 'Age' => 25];
print_r(array_change_key_case($arr, CASE_LOWER));
// ထုတ်လုပ်ခြင်း:Array ( [name] => Tom [age] => 25 )
ဤလုပ်ဆောင်ချက်သည် Element များကိုခင်းကျင်းမှုတစ်ခုတွင် filter လုပ်ရန်အသုံးပြုသည်။
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
ပုံမှန်အားဖြင့်၎င်းသည် မှားယွင်းသော , ပုလင်း , 0 , အချည်းနှီးသောကြိုးများစသည်တို့ကဲ့သို့သော "မှားယွင်းသောတန်ဖိုးများ" နှင့်အတူဒြပ်စင်များကိုဖယ်ရှားသည်။
ဥပမာ -
$arr = ['name' => 'Tom', 'age' => 0, 'email' => ''];
print_r(array_filter($arr));
// ထုတ်လုပ်ခြင်း:Array ( [name] => Tom )
ဟုတ်ကဲ့, အမိန့်သည်သင်နှင့်သက်ဆိုင်သည့်သီးခြားခင်းကျင်းဖွဲ့စည်းပုံနှင့်ရည်ရွယ်ချက်ပေါ် မူတည်. ရလဒ် သည်ရလဒ်များကိုအကျိုးသက်ရောက်နိုင်သည် ။
ဤကိစ္စတွင်အဓိကအကြောင်းရင်းကိုပထမ ဦး ဆုံးပြောင်းလဲပြီးတန်ဖိုးကို filter လုပ်ထားသည်။
$data = ['Name' => 'Tom', 'Age' => null, 'EMAIL' => ''];
$result = array_filter(array_change_key_case($data));
print_r($result);
ထုတ်လုပ်မှု -
Array ( [name] => Tom )
ဥပမာ -
သော့များသည်စာလုံးအသေးများဖြစ်သည်။ နာမည် , အသက် , အီးမေးလ်
NULL နှင့်အချည်းနှီးသောကြိုးများကိုဖယ်ရှားသည်
$data = ['Name' => 'Tom', 'Age' => null, 'EMAIL' => ''];
$result = array_change_key_case(array_filter($data));
print_r($result);
ထုတ်လုပ်မှု -
Array ( [name] => Tom )
output ဟာအတူတူပါပဲ။ ဒါပေမယ့် array_filter () ကို callback function ကိုသုံးတဲ့အခါခြားနားချက်ကထွက်လာလိမ့်မယ်။
$data = ['Name' => 'Tom', 'Age' => 0, 'EMAIL' => 'tom@m66.net'];
$result1 = array_filter(array_change_key_case($data), function($val) {
return !empty($val);
});
$result2 = array_change_key_case(array_filter($data, function($val) {
return !empty($val);
}));
print_r($result1);
print_r($result2);
ထုတ်လုပ်မှု -
$result1:
Array ( [name] => Tom [email] => tom@m66.net )
$result2:
Array ( [name] => Tom [email] => tom@m66.net )
ယခုအချိန်တွင်ရလဒ်များသည်ယခုအချိန်တွင်အတူတူပင်ဖြစ်နေသေးသော်လည်း သော့ချက်နာမည်၏အထက်နှင့်အနိမ့်အကြီးအသေး အပေါ် အခြေခံ. နောက်ထပ်ယုတ္တိဗေဒအပြောင်းအလဲအတွက်လုပ်ရန်လိုအပ်သည့်အခါအမိန့်သည်သင်၏တရားစီရင်ခြင်းယုတ္တိဗေဒကိုအကျိုးသက်ရောက်နိုင်သည်။
လိုအပ်ချက်များအပေါ် အခြေခံ. ဆုံးဖြတ်ရန်အကြံပြုသည် -
အကယ်. သင်သည် သော့ချက်ပုံစံကိုတူညီစွာလုပ်ဆောင် လိုပါက (ဥပမာစာလုံးအသေးများကိုရှောင်ရှားရန်အသေးလုံးကိုပြောင်းလဲခြင်းကဲ့သို့သော) သင် array_change_key_Key_case () ကို သုံးနိုင်သည်။
အကယ်. သင်သည်စစ်ထုတ်ခြင်းဆိုင်ရာယုတ္တိဗေဒကိုပိုမိုအာရုံစိုက်ပါက, array တန်ဖိုးများကိုပိုမိုအာရုံစိုက်ပြီးသော့အမည်များပုံစံကိုဂရုမစိုက်ပါကသင် array_filter () ကို ပထမ ဦး ဆုံးအသုံးပြုသည်ကိုအရေးမကြီးပါ။
နှစ် ဦး စလုံးကိုသုံးရပါမည်။ မသေချာမရေရာသည့်ယုတ္တိအမှားများကိုရှောင်ရှားရန်အစီအစဉ်ကိုရှင်းရှင်းလင်းလင်းသတ်မှတ်ရန်အကောင်းဆုံးဖြစ်သည်။