လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_fatche_keys အတွက် array မဟုတ်သောအမျိုးအစားများကိုဖြတ်သန်းသွားမည်လား။

array_fatche_keys အတွက် array မဟုတ်သောအမျိုးအစားများကိုဖြတ်သန်းသွားမည်လား။

M66 2025-06-06

PHP ပရိုဂရမ်တွင် Array_ Awe_Keys function သည်အလွန်အသုံးများသော function တစ်ခုဖြစ်သည်။ ၎င်း၏အခြေခံအသုံးပြုမှုမှာ ARRAY ၏သော့များကိုအခြေခံအဖြစ်အသုံးပြုရန်ဖြစ်ပြီးသတ်မှတ်ထားသောတန်ဖိုးကိုဖြည့်ဆည်းရန်ဖြစ်သည်။ များသောအားဖြင့်ဤလုပ်ဆောင်မှု၏အသုံးပြုမှုသည်ရိုးရှင်းပါသည်, သို့သော်အချို့သောအထူးကိစ္စများတွင်မပါ 0 င်သောအမျိုးအစားများကိုမအောင်မြင်ပါကဘာဖြစ်မည်နည်း။ အမှားအယွင်းများဖြစ်စေမလား။ ဒီဆောင်းပါးမှာဒီကိစ်စကိုနက်နက်နဲနဲလေ့လာမယ်။

array_fatch_keys function ကို၏အခြေခံအသုံးပြုမှု

array_filte_Keys function ၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_fill_keys(array $keys, mixed $value): array
  • $ keys : ဖြည့်ဖို့သော့တွေပါတဲ့ခင်းကျင်းမှုတစ်ခု။

  • $ တန်ဖိုး - ဖြည့်ရန်တန်ဖိုး။

အဆိုပါ function ကို $ k keys array ရှိသော့များပေါ်တွင်အခြေခံသော array အသစ်တစ်ခုထုတ်လုပ်ရန်နှင့်တန်ဖိုးကို $ တန်ဖိုး နှင့်သက်ဆိုင်သောတန်ဖိုးကိုသတ်မှတ်ရန်ဖြစ်ပါတယ်။

ဥပမာအားဖြင့်:

 $keys = ['a', 'b', 'c'];
$value = 10;
$new_array = array_fill_keys($keys, $value);
print_r($new_array);

output ကိုဖြစ်လိမ့်မည်:

 Array
(
    [a] => 10
    [b] => 10
    [c] => 10
)

array မဟုတ်သောအမျိုးအစားမပြည့်မီပါကဘာဖြစ်မည်နည်း။

ယခုအချိန်တွင်အရေးကြီးသောမေးခွန်းတစ်ခုကိုဆွေးနွေးကြပါစို့ - array_fatch_Keys ကိုခေါ်ဆိုသည့်အခါအဝင်ဖြစ်သော $ သော့ချက်များ parameter သည်ခင်းကျင်းမှုတစ်ခုမဟုတ်ပါကဘာဖြစ်မည်နည်း။

PHP စာရွက်စာတမ်းများအရ Array_FATE_KEAKS မှမျှော်လင့်ထားသည့်ပထမဆုံး parray သည်ခင်းကျင်းမှုတစ်ခုဖြစ်သည်။ ar-array မဟုတ်သောအမျိုးအစားကို (string, integer သို့မဟုတ်အခြားအမျိုးအစားကဲ့သို့သော) တွင် PHP သည် parameter type မမှန်ကန်ကြောင်း သတိပေးချက်ကို ပစ်ချလိမ့်မည်။

နမူနာကုဒ် - Non-Array အမျိုးအစားကိုဖြတ်ကူး

 $value = 10;
$non_array = "this is a string";

$new_array = array_fill_keys($non_array, $value);

output ကိုဖြစ်လိမ့်မည်:

 Warning: array_fill_keys() expects parameter 1 to be array, string given in /path/to/your/script.php on line 4

ဤဥပမာတွင် $ non_array variable သည် array_put_eys သို့ကူးပြောင်းထားသော string တစ်ခုဖြစ်ပြီး function သည်ခင်းကျင်းမှုတစ်ခုအဖြစ်အငြင်းပွားမှုတစ်ခုအဖြစ်မျှော်လင့်သောကြောင့်သတိပေးချက်ကိုပစ်ချလိမ့်မည်။

အမှားအယွင်းခွဲခြမ်းစိတ်ဖြာခြင်း

PHP ကကွပ်မျက်ခံရသည့်အခါ သတိပေး အမှားတစ်ခုထုတ်ပေးလိမ့်မည်, အမှားအတွက်တိကျသောသတင်းအချက်အလက်မှာ -

 Warning: array_fill_keys() expects parameter 1 to be array, string given in /path/to/your/script.php on line 4

ဤအချက်က array_ __treme_Keys function သည် 0 င်ရောက်စွက်ဖက်မှုမဟုတ်သောအမျိုးအစားများကိုမကိုင်တွယ်နိုင်ကြောင်းဖော်ပြသည်။ အမှားကိုယ်နှိုက်သည်ပရိုဂရမ်၏ကွပ်မျက်ခြင်းကိုရပ်ဆိုင်းခြင်းမရှိပါ။ သို့သော်အစီအစဉ်၏အပြုအမူသည်ကြိုတင်ခန့်မှန်း။ မရနိုင်ပါ။

ထိုကဲ့သို့သောအမှားများကိုရှောင်ရှားရန်?

ဤအမှားများကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် array_put_key ကို မခေါ်မီအောင်မြင်သော parametersings array များမရှိမရှိစစ်ဆေးရန် is_array function ကိုသုံးနိုင်သည်။ အကယ်. ၎င်းသည်ခင်းကျင်းမှုတစ်ခုမဟုတ်ပါကသင့်လျော်သောအမှားကိုင်တွယ်ခြင်းသို့မဟုတ်ပြောင်းလဲခြင်းလုပ်ငန်းများကိုလုပ်ဆောင်နိုင်ပါသည်။

ဥပမာအားဖြင့်:

 $value = 10;
$non_array = "this is a string";

if (is_array($non_array)) {
    $new_array = array_fill_keys($non_array, $value);
} else {
    echo "Error: The provided argument is not an array.";
}

၎င်းသည်မအောင်မြင်သောအမျိုးအစားများကိုဖြတ်သန်းခြင်းကြောင့်သတိပေးချက်များကိုရှောင်ရှားပြီးပိုမိုဖော်ရွေသောအမှားများကိုသတိပေးသည်။

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

Array_fatch_Keys function ကိုအသုံးပြုသောအခါ array non-array အမျိုးအစား parameter သည် php parameter type အမျိုးအစားမမှန်ကန်ကြောင်းသတိပေးချက်တစ်ခုပစ်လိမ့်မည်။ ၎င်းကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် function ကိုမခေါ်မီ parameter type အမျိုးအစားကိုစစ်ဆေးနိုင်သည်။ ဤသည်ကုဒ်၏ကြံ့ခိုင်ခြင်းနှင့်ထိန်းသိမ်းမှုကိုတိုးတက်စေသည်။


ရှေ့နှင့်နောက်ဘက်အပိုင်း