PHP တွင် is_iterable () သည် variable တစ်ခုသည် taversable data type ဟုတ်မဟုတ်စစ်ဆေးရန်လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ foreach loop တွင် variable တစ်ခုတွင် variable ကိုသုံးနိုင်သည်ကိုဆုံးဖြတ်ရန်ကူညီနိုင်သည်။ variable သည် array တစ်ခုသို့မဟုတ် traverable interface ကိုအကောင်အထည်ဖော်သည့်အရာဝတ်ထုတစ်ခုဖြစ်ပါကဤလုပ်ဆောင်မှုသည် မှန်ကန်သည် ။ အကယ်. variable သည် null ဖြစ်လျှင် is_iterable () သည် မှားယွင်းသော အမှားအယွင်းများကိုပြန်လည်ရောက်ရှိစေပြီး, ထို့ကြောင့် Null တွင်ဖြတ်သန်းခြင်းကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုမည်သို့ရှောင်ရှားနိုင်မည်နည်း။
အောက်ပါကုဒ်ကိုသုံးသပ်ကြည့်ပါ။
$data = null;
if (is_iterable($data)) {
foreach ($data as $item) {
// ကိုင်တွယ်ဖြေရှင်းသည် $item
}
}
ဤဥပမာတွင် ဒေါ်လာဒေတာ သည် မှားယွင်းသော (ဒေါ်လာဒေတာ) သည်မှားယွင်းသောကြောင့်မှားယွင်းသော ကြောင့် မှားယွင်းသော ကြောင့် Forach Loop သည်မလုပ်ဆောင်နိုင်တော့ပါ။ သို့သော်ဤသည်သင်လုပ်ချင်သောအပြုအမူမဖြစ်နိုင်ပါ။ အကယ်. $ ဒေတာများသည် Null ဖြစ်လျှင်နောက်ဆက်တွဲအမှားများသို့မဟုတ်အပိုဆောင်းအပြောင်းအလဲများနှင့်အတူနောက်ဆက်တွဲအမှားများသို့မဟုတ်ခြွင်းချက်များကိုရှောင်ရှားလိုပေမည်။
is_iterable () ကို အသုံးပြုသောအခါ ထူးချွန်သော တန်ဖိုးများကြောင့်မလိုအပ်သောအမှားများကိုရှောင်ရှားနိုင်ရန်အတွက်သင်မဆုံးဖြတ်မီ variable ကို preprocess အချို့ကိုလုပ်ဆောင်နိုင်သည်။ ဤတွင်၎င်းကိုကိုင်တွယ်ရန်ဘုံနည်းလမ်းအချို့ကိုဤတွင်ဖော်ပြထားသည်။
၎င်းသည်ဖြတ်သန်းနိုင်သောအရာဝတ်ထုဟုတ်မဟုတ်စစ်ဆေးခြင်းမပြုမီ, ကျွန်ုပ်တို့သည် variable ကိုအရင် NELSE NULL ဟုတ်မဟုတ်စစ်ဆေးနိုင်သည်။ အကယ်. NULL , foreach ကို တိုက်ရိုက်သို့မဟုတ် execute လုပ်ပါ။
$data = null;
if (!is_null($data) && is_iterable($data)) {
foreach ($data as $item) {
// ကိုင်တွယ်ဖြေရှင်းသည် $item
}
} else {
// လှျင် $data ဟုတ်ကဲ့ null,进行备用ကိုင်တွယ်ဖြေရှင်းသည်
echo "数据为空或不ဟုတ်ကဲ့可遍历对象。";
}
အကယ်. NULL သည်ဖြစ်နိုင်သော input ကိုဖြစ်လျှင်၎င်းကိုအချည်းနှီးသောခင်းကျင်းမှုတစ်ခုအဖြစ်လုပ်ဆောင်လိုပါက default value အဖြစ်အချည်းနှီးသောခင်းကျင်းမှုကိုသင်အသုံးပြုနိုင်သည်။ ဤနည်းအားဖြင့် အချက်အလက်များ သည် Null ဖြစ်လျှင်ပင်အစီအစဉ်သည်အမှားတစ်ခုသတင်းပို့ခြင်းမပြုပါ။ Forach Loop သည်အချည်းနှီးသောခင်းကျင်းမှုကိုပြုလုပ်လိမ့်မည်။
$data = null;
// လှျင် $data ဟုတ်ကဲ့ null,အစားအချည်းနှီးသောခင်းကျင်းကိုသုံးပါ
$data = $data ?? [];
foreach ($data as $item) {
// ကိုင်တွယ်ဖြေရှင်းသည် $item
}
အကယ် . သင်သည်သင်၏လျှောက်လွှာတွင် null value အဖြစ်မကြာခဏကြုံတွေ့ရပါက, ဥပမာအားဖြင့်, အချည်းနှီးသောခင်းကျင်းသို့မဟုတ်အချည်းနှီးသောအရာဝတ်ထုတစ်ခုကို အသုံးပြု. ဒေတာမရှိဘဲကိုယ်စားပြုရန်
$data = null;
// အခြားရွေးချယ်စရာအဖြစ်အချည်းနှီးသောခင်းကျင်းကိုသုံးပါ
$data = is_null($data) ? [] : $data;
foreach ($data as $item) {
// ကိုင်တွယ်ဖြေရှင်းသည် $item
}
Centrally addallulate လုပ်ရန် cemress ကို cemression function ကို oncapsulate လုပ်နိုင်သည်, ၎င်းကို code ကိုပိုမိုတိကျစွာပြန်လည်အသုံးချနိုင်ပါသည်။
function safe_iterable($var) {
return (is_iterable($var) && $var !== null) ? $var : [];
}
$data = null;
foreach (safe_iterable($data) as $item) {
// ကိုင်တွယ်ဖြေရှင်းသည် $item
}
is_iterable () variable ကို ဖြတ်သန်း နိုင်, Null ကြောင့်နောက်ဆက်တွဲအမှားများကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည် is_iterable () () (သို့မဟုတ် ) ကို ပုံမှန်သို့မဟုတ်အချည်းနှီးသောအစုအားဖြင့်ကိုင်တွယ်ဖြေရှင်းခြင်းမပြုမီစစ်ဆေးနိုင်သည်။ မှန်ကန်သောမဟာဗျူဟာကိုရွေးချယ်ခြင်းသည်သင်၏စီမံကိန်း၏လိုအပ်ချက်များနှင့်စီးပွားရေးယုတ္တိဗေဒအပေါ်မူတည်သည်။
ထို့အပြင်အဝင်ဒေတာများကိုပြုပြင်သည့်အခါအထူးသဖြင့်ပြင်ပဒေတာအရင်းအမြစ်များမတည်မငြိမ်ဖြစ်သည့်အခါသင့်အားသေချာစွာစစ်ဆေးရန်သေချာစေရန်သေချာစေခြင်း,