လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> variable တစ်ခုအချည်းနှီးသောအရာဝတ်ထုတစ်ခုဖြစ်သည့်အခါ is_iterable function ၏တရားစီရင်ရာတွင်အဘယ်နည်း။ ရလဒ်ကဘာလဲ။

variable တစ်ခုအချည်းနှီးသောအရာဝတ်ထုတစ်ခုဖြစ်သည့်အခါ is_iterable function ၏တရားစီရင်ရာတွင်အဘယ်နည်း။ ရလဒ်ကဘာလဲ။

M66 2025-06-27

PHP တွင် is_iterable () သည် variable တစ်ခု aterated နိုင်မနိုင်စစ်ဆေးရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်မှုသည် traverable interface ကိုအကောင်အထည်ဖော်သည့် Arrays နှင့် Objects များအတွက် မှန်ကန် သည် မမှန်မကန်အမျိုးအစားများကိုရှောင်ရှားရန် developer များက developeriable () သည်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက် is_iterable () ကို အသုံးပြုလိမ့်မည်။ သို့သော်ကျွန်ုပ်တို့သည်အချည်းနှီးသောအရာဝတ်ထုတစ်ခုသို့သွားသောအခါ is_iliterable () function ကို၏တရားစီရင်ရာ၏တရားစီရင်ခြင်းယုတ္တိဗေဒသည်အံ့သွစရာကောင်းသည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ဤပြ problem နာကိုစူးစမ်းလေ့လာပြီး is_iterable () တွင်အချည်းနှီးသောအရာဝတ်ထုတစ်ခုမှရလဒ်များကိုမည်သည့်ရလဒ်များရရှိမည်ကိုကြည့်မည်။

1 ။ is_iterable ၏အခြေခံအသုံးပြုမှု

ပထမ ဦး စွာ is_iterable () function ၏အခြေခံအသုံးပြုမှုကိုနားလည်ကြပါစို့။ PHP တွင် is_iterable () ကို variable တစ်ခု aterated နိုင်မလားရှာဖွေရန်အသုံးပြုသည်။ ဥပမာအားဖြင့် taversable interface ကိုအကောင်အထည်ဖော်မည့် arrays နှင့် objects များကို၎င်းအားမပြတ်စွာစဉ်းစားသည်။

 $myArray = [1, 2, 3];
$myObject = new ArrayObject([1, 2, 3]);

echo is_iterable($myArray) ? 'true' : 'false';   // true
echo is_iterable($myObject) ? 'true' : 'false';  // true

အပေါ်ကပြထားတဲ့အတိုင်း traversable interface ကိုအကောင်အထည်ဖော်တဲ့ array နဲ့ object နှစ်ခုလုံးက အကောင်အထည် ပေါ်လာတယ်။

2 ။ အချည်းနှီးသောအရာဝတ်ထုဆိုတာဘာလဲ။

အချည်းနှီးသောအရာဝတ်ထုသည်များသောအားဖြင့် attribute များ (သို့) နည်းလမ်းများမရှိသောအရာဝတ်ထုတစ်ခုကိုရည်ညွှန်းသည်။ ဥပမာအားဖြင့်:

 $emptyObject = new stdClass();

ဤအချက်မှာ $ ဗလာဗစ်ဘုတ်အဖွဲ့ သည်မည်သည့် attribute များမရှိဘဲအချည်းနှီးသောအရာဝတ်ထုတစ်ခုဖြစ်သည်။ ၎င်းသည်အရာဝတ်ထုတစ်ခုဖြစ်သော်လည်းအမှန်တကယ်ဒေတာဖွဲ့စည်းပုံသို့မဟုတ်နည်းလမ်းမရှိပါ။ သို့သော်အချည်းနှီးသောအရာဝတ်ထုသည် PHP ရှိအရာဝတ်ထုတစ်ခု၏အခြေခံအဓိပ္ပာယ်နှင့်ကိုက်ညီသောအရာဝတ်ထုဥပမာတစ်ခုဟုယူမှတ်ဆဲဖြစ်သည်။

3 ။ အချည်းနှီးသောအရာဝတ်ထုများ၏ကိုယ်စားပြုမှု is_iterable အတွက် ()

နောက်တစ်ခုက is_iterable () function ကိုအချည်းနှီးသောအရာဝတ်ထုကိုဖြတ်သန်းသွားတဲ့အခါရလဒ်တွေကိုရရှိတဲ့ရလဒ်တွေရလိမ့်မယ်ဆိုတာကြည့်ရအောင်။ အချည်းနှီးသောအရာဝတ်ထုကိုယ်နှိုက်က attribute တွေ (သို့) နည်းလမ်းတွေမရှိဘူးဆိုပေမဲ့အရာဝတ်ထုတစ်ခုပဲ။ is_iterable () အဓိပ္ပါယ်ဖွင့်ဆိုချက်အရ, အရာဝတ်ထုသည်ဗလာမပေါ်မစစ်ဆေးပါ

 $emptyObject = new stdClass();
echo is_iterable($emptyObject) ? 'true' : 'false';  // false

ဤဥပမာတွင်အချည်းနှီးသောအ ရာ ဝတ်ထု stdclass သည် taversable interface ကိုအကောင်အထည်ဖော်ခြင်းမရှိပါ ဆိုလိုသည်မှာကျွန်ုပ်တို့သည်အချည်းနှီးသောအရာဝတ်ထုတစ်ခုကိုဖြတ်သန်းသွားလျှင်ပင်၎င်းသည်မတည်ငြိမ်သောအရာဝတ်ထုတစ်ခုအဖြစ်သတ်မှတ်လိမ့်မည်မဟုတ်ပါ။

4 ။ အချည်းနှီးသောအရာဝတ်ထုသည်အဘယ်ကြောင့် မှားယွင်းစွာ တုံ့ပြန်သနည်း။

is_iterable () သည်အရာဝတ်ထုတစ်ခုသည်မအောင်မြင်, သို့သော်အရာဝတ်ထုသည် taversable interface ကိုအကောင်အထည်ဖော်သည်ကိုစစ်ဆေးသည်။ PHP တွင် Stdclass အတန်းအစားသည် ဖြတ်သန်းနိုင်သော interface ကိုအကောင်အထည်ဖော်ခြင်းမရှိပါ။ ၎င်းသည်ပုံမှန်အတန်းတစ်ခုဖြစ်သည်။ ထို့ကြောင့်၎င်းသည်အရာဝတ်ထုတစ်ခုဖြစ်သော်လည်း is_iterable () သည် မှားယွင်းသောအရာဖြင့် မှားယွင်းသော ပြန်လာသည်။

အရာဝတ်ထုတစ်ခုကိုမအောင်မြင်ပါက၎င်းကိုကျွန်ုပ်တို့သည် taversable interface ကိုအကောင်အထည်ဖော်ရန်သို့မဟုတ် လေ့ ကျင့်နိုင်သော interface ကိုအကောင်အထည်ဖော်ရမည်။ ဥပမာအားဖြင့်, arrayobject သည် taversable interface ကိုအကောင်အထည်ဖော်ရန်အတွက် 0 င်ရောက်နိုင်သည်။

 $emptyObject = new ArrayObject();
echo is_iterable($emptyObject) ? 'true' : 'false';  // true

5 ။ နိဂုံးချုပ်

အချည်းနှီး သော အနေဖြင့် variable သည်အချည်းနှီးသောအရာဝတ်ထုတစ်ခုဖြစ်သည့်အခါ is_iterable () function သည် မှားယွင်း လာလိမ့်မည် အရာဝတ်ထုတစ်ခု မှန်မှန်ကန်ကန် ပြန်လာရန်အတွက်၎င်းတွင် interface ကိုအကောင်အထည်ဖော်ရန်သို့မဟုတ် array အမျိုးအစားကိုအကောင်အထည်ဖော်ရမည်။ ထို့ကြောင့် is_iliterable () ကို အသုံးပြုသောအခါအချည်းနှီးသောအရာဝတ်ထုသည်ဆုံးဖြတ်ချက်ချနိုင်လိမ့်မည်ဟုမျှော်လင့်ပါကအရာဝတ်ထုကိုသက်ဆိုင်ရာ interface ကိုအကောင်အထည်ဖော်ရန်ခွင့်ပြုရန်စဉ်းစားနိုင်သည်။