အသုံးအများဆုံးအမှားတစ်ခုမှာ $ keys parameter သည်တန်ဖိုးကိုကျော်ဖြတ်နိုင်သည့်တန်ဖိုးသည်ခင်းကျင်းခြင်းမဟုတ်ပါ။ ဥပမာအားဖြင့် string တစ်ခု (သို့) နံပါတ်ကိုဖြတ်သန်းခြင်း
<span><span><span class="hljs-variable">$keys</span></span><span> = </span><span><span class="hljs-string">'abc'</span></span><span>; </span><span><span class="hljs-comment">// အမှား:array အစား strings ဖြတ်သန်း</span></span><span>
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-number">1</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_fill_keys</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>); </span><span><span class="hljs-comment">// သတိပေးချက်တစ်ခုဖြစ်ပေါ်လိမ့်မယ်</span></span><span>
</span></span>WomeRound - $ သော့ချက် parameter သည်ခိုင်လုံသောခင်းကျင်းမှုတစ်ခုဖြစ်ကြောင်းသေချာအောင်လုပ်ပါ။ အကယ်. သင်အမျိုးအစားနှင့် ပတ်သက်. မသေချာပါကသင် check လုပ်ရန် is_array () ကို သုံးနိုင်သည်။
<span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-title function_ invoke__">is_array</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>)) {
</span><span><span class="hljs-variable">$keys</span></span><span> = (</span><span><span class="hljs-keyword">array</span></span><span>) </span><span><span class="hljs-variable">$keys</span></span><span>; </span><span><span class="hljs-comment">// array မှ array ၏တန်ဖိုးကိုခင်းကျင်း</span></span><span>
}
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_fill_keys</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>);
</span></span>$ တန်ဖိုးကို Parameter အမျိုးအစားကိုအမှန်တကယ်မလိုအပ်ပါ, သို့သော်အချို့ကိစ္စများတွင်မမျှော်လင့်သောရလဒ်များကိုဖြစ်ပေါ်စေနိုင်သည်။ ဥပမာအားဖြင့်, အရာဝတ်ထုတစ်ခုသို့မဟုတ်အရင်းအမြစ်အမျိုးအစား၏အချက်အလက်များကိုဖြတ်သန်းသောအခါ၎င်းသည် output ကိုမျှော်မှန်းထားသည်ထက်ပိုမိုဆိုးရှားစေနိုင်သည်။
<span><span><span class="hljs-variable">$keys</span></span><span> = [</span><span><span class="hljs-string">'a'</span></span><span>, </span><span><span class="hljs-string">'b'</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span>];
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'file.txt'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>); </span><span><span class="hljs-comment">// အမှား:အရင်းအမြစ်အမျိုးအစား၏တန်ဖိုး</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_fill_keys</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>);
</span></span>WomeRoundround : $ တန်ဖိုး အမျိုးအစားသည်ခင်းကျင်း၏ element element တန်ဖိုးအဖြစ်သင့်တော်ကြောင်းသေချာပါစေ။ ခန့်မှန်းရခက်သည့်အမျိုးအစားများအတွက်၎င်းကိုအမျိုးအစားစစ်ဆေးခြင်းဖြင့်ရှောင်ရှားနိုင်သည်။
<span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_resource</span></span><span>(</span><span><span class="hljs-variable">$value</span></span><span>)) {
</span><span><span class="hljs-variable">$value</span></span><span> = (</span><span><span class="hljs-keyword">string</span></span><span>)</span><span><span class="hljs-variable">$value</span></span><span>; </span><span><span class="hljs-comment">// အရင်းအမြစ်အမျိုးအစားကို string သို့ပြောင်းပါ</span></span><span>
}
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_fill_keys</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>);
</span></span>Array_kke_Keys သည် မည်သည့် key အမျိုးအစား (ကြိုး, ကိန်းဂဏန်းများစသည်တို့အပါအ 0 င်မည်သည့်အဓိကအမျိုးအစားကိုမဆိုထောက်ပံ့သည်။ အချို့ဖြစ်ရပ်များတွင်အချို့သောအခြေအနေများတွင်ပေါင်းစပ်ထားသောသော့အမျိုးအစားများသည်မရှိမဖြစ်လိုအပ်သောအပြုအမူများ၌မရှိမဖြစ်လိုအပ်သည်။ အထူးသဖြင့်အရာဝတ်ထုကိုသော့ချက်အမည်တစ်ခုအဖြစ်အသုံးပြုသောအခါအရာဝတ်ထု၏ hash တန်ဖိုးကြောင့်အဓိကရှေ့နောက်မညီမှုသည်အဓိကရှေ့နောက်မညီမှုဖြစ်နိုင်သည် (i.e. __Hash) )
WomeRound - အဓိကအကြောင်းရင်းမဟုတ်သည့်အရာမဟုတ်သောအရာဝတ်ထုများကိုမသုံးပါနှင့်။ ၎င်းကို array အတွက် ဒြပ်စင် တစ်ခုစီသည်မှန်ကန်စွာ string တစ်ခုသို့မဟုတ်တစ်ခုကိန်းထဲသို့ပြောင်းလဲသွားသည်ကိုသေချာစေသည်။
<span><span><span class="hljs-variable">$keys</span></span><span> = [</span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">stdClass</span></span><span>(), </span><span><span class="hljs-string">'b'</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span>]; </span><span><span class="hljs-comment">// အမှား:အရာဝတ်ထုအမျိုးအစား၏သော့</span></span><span>
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-number">1</span></span><span>;
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_fill_keys</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>); </span><span><span class="hljs-comment">// output ကိုခန့်မှန်းရခက်သည်</span></span><span>
</span></span>အဓိကဒေတာအမျိုးအစားကိုသော့အဖြစ်အသုံးပြုခြင်းသည်အကောင်းဆုံးဖြစ်သည်။
<span><span><span class="hljs-variable">$keys</span></span><span> = [</span><span><span class="hljs-string">'a'</span></span><span>, </span><span><span class="hljs-string">'b'</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span>]; </span><span><span class="hljs-comment">// မှန်ကန်သော:သော့ချက်များအားလုံးသည်ကြိုးများဖြစ်သည်</span></span><span>
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_fill_keys</span></span><span>(</span><span><span class="hljs-variable">$keys</span></span><span>, </span><span><span class="hljs-variable">$value</span></span><span>);
</span></span>အကယ်. သင် array_ attition_Keys function တွင်အမှားတစ်ခုကြုံတွေ့ရပါကသို့မဟုတ် output သည်မျှော်လင့်ချက်များနှင့်မကိုက်ညီပါက Debugging သည်အလွန်အရေးကြီးသောခြေလှမ်းတစ်ခုဖြစ်သည်။ ဤတွင်အချို့သော debugging အကြံပြုချက်များဖြစ်ကြသည်:
Var_Dump output variable တွေကိုသုံး ပါ ။
RESSER log : PHP ၏အမှားမှတ်တမ်းသည်များသောအားဖြင့် parameter passing ပြ problems နာများကိုရှာဖွေရန်ကူညီနိုင်သည်။
Debug function call stack: Debugebacktace နှင့်အတူ stack : ရှုပ်ထွေးသော application များ၌ function call stack သည် function parameter လုပ်ခြင်းဖြင့်တိကျသောပြ issues နာများကိုရှာဖွေရန်ကူညီလိမ့်မည်။