လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_map () callback တွင် Scalar မဟုတ်သောတန်ဖိုးများကိုအသုံးပြုခြင်းတွင်အမှားတစ်ခုရှိပါသလား။ ဒီလျှို့ဝှက်အန္တရာယ်ကိုနားလည်ပါ

array_map () callback တွင် Scalar မဟုတ်သောတန်ဖိုးများကိုအသုံးပြုခြင်းတွင်အမှားတစ်ခုရှိပါသလား။ ဒီလျှို့ဝှက်အန္တရာယ်ကိုနားလည်ပါ

M66 2025-07-28

Array လုပ်ခြင်းအတွက် PHP ကိုအသုံးပြုသောအခါ array_map () သည် များသောအားဖြင့် အသုံးပြု. အစွမ်းထက်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ရိုးရိုးရှင်းရှင်းနှင့်ကြော့ရှင်းသော array ရှိ element တစ်ခုချင်းစီကို callback function ကိုအသုံးပြုရန်ခွင့်ပြုသည်။ သို့သော်နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သင် callback ရှိ Arrays သို့မဟုတ် Objects ကဲ့သို့သော scrays သို့မဟုတ် objects ကဲ့သို့သောစကေးမဟုတ်သောတန်ဖိုးများကိုကိုင်တွယ်ပါက, ဤဆောင်းပါးသည်သင့်အားဤဝှက်ထားသောအန္တရာယ်ကိုနက်နက်နဲနဲစွာနားလည်ရန်နှင့်လုံခြုံစွာမည်သို့ကိုင်တွယ်ဖြေရှင်းရမည်ကိုသင်နားလည်စေလိမ့်မည်။

1 ။ Non-Scalar တန်ဖိုးကဘာလဲ။

PHP တွင် salcar တန်ဖိုးများတွင် -

  • အချင်းစား

  • မေျာ

  • ကြိုး

  • bool

သူတို့အစား scalar တန်ဖိုးများအစား:

  • အခင်းအကျင်း

  • ကန့်ကွက်

  • ပစ္စည်းအင်းအား

  • NULL (တစ်ခါတစ်ရံတွင်ရေတွက်)

sparra_map () ၏ callback function ကို callback function ကိုသို့ကူးပြောင်းသည့်အခါ scray_map function သို့ကူးယူပြီး function တွင်မဆီမညီရှိသောလုပ်ငန်းများကိုအသုံးပြုသည်။

2 ။ ပုံမှန်ဥပမာတစ်ခု

အောက်ပါဥပမာကိုကြည့်ရအောင်။

<Code> $ ဒေတာ = ['name' => 'Tom'], ['Name' => 'Jerry'],

$ ရလဒ် = array_map (function) {item) {array_map
'မင်္ဂလာပါ' ပြန်လာပါ။ $ item;
}, $ ဒေတာ);
</ code>

output ကိုသင်မျှော်လင့်နိုင်သည်။

 [
    "Hello, Tom",
    "Hello, Jerry",
    "Hello, Spike"
]

ဒါပေမယ့်တကယ်တော့ဒီကုဒ်ကအမှားတစ်ခုဖြစ်ပေါ်လိမ့်မယ်:

 Warning: Array to string conversion

ဘာဖြစ်လို့လဲဆိုတော့ $ item သည်ခင်းကျင်းတစ်ခုဖြစ်သောကြောင့်ဖြစ်သည်။ PHP သည်သင်ကိုယ်တိုင်ကိုကိုယ်တိုင်မလုပ်ပါက arrays များကို strings များကို strings သို့ပြောင်းလဲခြင်းကိုခွင့်မပြုပါ။

3 ။ ဒီပြ problem နာကိုဘယ်လိုရှောင်ရှားရမလဲ

ဤအရာကိုရှောင်ရှားရန်, သင် palcar တန်ဖိုးများကိုကိုင်တွယ်ဖြေရှင်းခြင်းသို့မဟုတ် callback အတွင်းရှိစကေးမဟုတ်သောတန်ဖိုးများကိုအတိအလင်းဆက်ဆံခြင်းကိုသေချာအောင်လုပ်ပါ။

နည်းလမ်း 1: လိုအပ်သောလယ်ကွင်းကိုထုတ်ယူပါ

<Code> $ ရလဒ် = array_map (function) {function ($ item) {'hello item' 'ပြန်လာ။ $ item [' အမည် '];}, $ ဒေတာ];}, $ ဒေတာ);}, $ ဒေတာ);}, $ ဒေတာ);}, $ ဒေတာ); </ code>

ထုတ်လုပ်မှု -

 [
    "Hello, Tom",
    "Hello, Jerry",
    "Hello, Spike"
]

နည်းလမ်း 2. JSONS_CENDode ကိုသုံးပါ () (သင်ကိုယ်စားပြုမှုလိုအပ်မှသာ)

<code> $ ရလဒ် = array_map (function) {function ($ item) {ပြန်ပို့ '' ဒေတာ: '။ json_entode ($ item);}, $ ဒေတာ); </ code>

ထုတ်လုပ်မှု -

 [
    "Data: {\"name\":\"Tom\"}",
    "Data: {\"name\":\"Jerry\"}",
    "Data: {\"name\":\"Spike\"}"
]

ဤနည်းလမ်းသည် debugging လုပ်စဉ်အတွင်းဖွဲ့စည်းပုံကိုအလျင်အမြန်ကြည့်ရှုရန်သင့်လျော်သည်, သို့သော်၎င်းကိုစီးပွားရေးယုတ္တိဗေဒတွင်သတိပြုရန်အကြံပြုသည်။

4 ။

အသုံးပြုသူများကဒေတာထည့်သွင်းမှုများကိုလုပ်ဆောင်ခြင်းသို့မဟုတ်ပြင်ပ APIs မှပြန်လာသောအခါစကေးမဟုတ်သောတန်ဖိုးများကိုပိုမိုများပြားလာသည်။ ဥပမာအားဖြင့်, သင်သည်အောက်ပါ interface ကိုမှတဆင့်ဒေတာများကိုဆွဲထုတ်:

<Code> $ ဒေတာ = json_decode (file_get_contents (https://mps ://m66.net/apiesers), </ code>

ပြန်လာသောဖွဲ့စည်းပုံသည်ခင်းကျင်းသောခင်းကျင်းမှုတစ်ခုဖြစ်နိုင်သည်။ ဤအချိန်တွင်သင်သည် Array_MAP () ကို တည်ဆောက်ခြင်းမပြုဘဲ ဒေါ်လာဒေတာကို တိုက်ရိုက်အသုံးပြုပါက,

5 ။ အကျဉ်းချုပ်

Array_map () သည်အကျိုးရှိရှိနှင့်လှပသော tool တစ်ခုဖြစ်သည်။ သို့သော်သင်၏ callback function သည် 0 င်လာသောတန်ဖိုးများကိုမှန်ကန်စွာကိုင်တွယ်နိုင်သည်ဟုယူဆသည်။ အကယ်. သင်သည်စကေးမဟုတ်သောတန်ဖိုးကိုဖြတ်သန်းသွားပါက၎င်းကိုစကေးတစ်ခုအဖြစ်လုပ်ဆောင်ပါက Runtime အမှားများ, အောက်ပါအချက်များကိုသတိရပါ။

  • Callback function သည်အဝင်တန်ဖိုးအမျိုးအစားများကိုကြိုတင်ဟောကိန်းထုတ်ထားကြောင်းသေချာစေပါ။

  • array သို့မဟုတ်အရာဝတ်ထုများတွင်သွယ်ဝိုက် string ကိုပြုပြင်ခြင်းကိုရှောင်ကြဉ်ပါ။

  • ပြင်ပဒေတာကိုပထမ ဦး ဆုံးဖွဲ့စည်းတည်ဆောက်ပုံကိုဖွင့်ပြီးလုပ်ဆောင်သည်။

သင်နည်းလေလေအမှားများနည်းလေလေ, သင်နားလည်သောနားလည်မှု, သင်ပိုမိုအသုံးပြုလေလေဖြစ်သည်။ ဒီဆောင်းပါးကဒီ "သေးငယ်တဲ့တွင်း" ကိုရှင်းရှင်းလင်းလင်းမြင်ပြီး PHP ကုဒ်ကိုပိုပြီးခိုင်မာစေတယ်။