လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> is_a () မှားယွင်းသောအမိန့်တွင် - အရာဝတ်ထုနှင့်အတန်းအစားအမည်ရှိ parameters တွေကို inverting ၏အကျိုးဆက်များ

is_a () မှားယွင်းသောအမိန့်တွင် - အရာဝတ်ထုနှင့်အတန်းအစားအမည်ရှိ parameters တွေကို inverting ၏အကျိုးဆက်များ

M66 2025-05-29

PHP တွင် is_a () function ကိုအရာဝတ်ထုတစ်ခုသည်အတန်းတစ်ခု၏အတန်းတစ်ခုသို့မဟုတ် subclass ၏ subclass နှင့်သက်ဆိုင်သည်ကိုရှာဖွေရန်အသုံးပြုသည်။ Syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 is_a(object $object, string $class_name, bool $allow_string = false): bool

၎င်းတို့အနက်ပထမ ဦး ဆုံး parameter သည်အရာဝတ်ထုသို့မဟုတ်အရာဝတ်ထုအမည်ဖြစ်ရမည်။ ဒုတိယ parameter သည်အတန်းအစားအမည်ဖြစ်သည်။ အကယ်. ဤအချက်နှစ်ချက်၏အမိန့်ကိုပြောင်းပြန်ဖြစ်လျှင်ကုဒ်သည်အဘယ်အရာကိုရရှိမည်နည်း။ ဤဆောင်းပါးသည်မှားယွင်းသော parameter အမိန့်ကိုအသုံးပြုသောအခါ is_a () ၏စွမ်းဆောင်ရည်နှင့်အလားအလာရှိသောအန္တရာယ်များကိုခွဲခြမ်းစိတ်ဖြာရန်ဥပမာများကိုအသုံးပြုလိမ့်မည်။


မှန်ကန်သောအသုံးပြုမှုဥပမာ

အမျိုးအစားနှစ်မျိုးရှိသည်ဆိုပါစို့။

 class Animal {}
class Dog extends Animal {}

$dog = new Dog();

var_dump(is_a($dog, 'Animal'));   // true,Dog ဟုတ်ကဲ့ Animal ၏ subclasses
var_dump(is_a($dog, 'Dog'));      // true,$dog ဟုတ်ကဲ့ Dog ရာထူးဥပမာ

ဤကုဒ်တွင် is_a ($ ခွေး, တိရိစ္ဆာန် ') သည် မှန်ကန်တဲ့ ပြန်လာ လိမ့်မည်


အမှားအယွင်းဥပမာ - parameter သည်အမိန့်ကိုပြောင်းပြန်သည်

အကယ်. သင်သည် parameter ကိုအမိန့်ကိုပြောင်းပြန်ဖြင့်ရေးပါကဥပမာ -

 var_dump(is_a('Animal', $dog));  // အမှားသရုပ်ပြ

ဒီအချိန်မှာဘာဖြစ်မလဲ ခွဲခြမ်းစိတ်ဖြာကြပါစို့

  1. ပထမ ဦး ဆုံးအငြင်းအခုံသည် string 'တိရိစ္ဆာန်' မဟုတ်ဘဲအရာဝတ်ထုမဟုတ်ပါ။

  2. ဒုတိယ parameter သည်အရာဝတ်ထု $ ခွေး ဖြစ်ပြီးအတန်းအမည် string ကိုမဟုတ်။

is_a ၏အဓိပ္ပါယ်ဖွင့်ဆိုချက်အရ Function သည်ပထမ ဦး ဆုံး parameter သည်အရာဝတ်ထုတစ်ခုဖြစ်ပြီးဒုတိယ parameter သည် string class name တစ်ခုဖြစ်ပြီးအမိန့်သည်မတိုက်ဆိုင်မှုကိုဖြစ်ပေါ်စေသည်။


အစစ်အမှန်အကျိုးဆက်များ

  • PHP 7.2 နှင့်အထက်တွင်ဤကဲ့သို့သောသတိပေးချက်များသို့မဟုတ်အမှားများကိုပြုလုပ်လိမ့်မည်

 Warning: is_a() expects parameter 1 to be object, string given
  • function ကို မှားယွင်းစွာ ပြန်ယူပြီးမှန်ကန်စွာတရားစီရင်ခြင်းမပြုနိုင်ပါ။

  • ကုဒ်ယုတ္တိဗေဒပျက်ကွက်ခြင်း, တရားသဖြင့်စီရင်ဆုံးဖြတ်ခြင်းအတွက်ပျက်ကွက်ခြင်း။

နမူနာကုဒ်:

 $dog = new Dog();
var_dump(is_a('Animal', $dog)); // false,နှင့်သတိပေးချက်

ပထမ ဦး ဆုံး parameter ကိုအဖြစ်ကြိုးခွင့်ပြုသည့်အခါအထူးကိစ္စရပ်များ

is_a () သည် အရာဝတ်ထု၏ပထမ ဦး ဆုံး parameter ကိုထောက်ပံ့ရန်တတိယ parameter_string ကို မှန်ကန်စွာ ထောက်ပံ့ရန်သတ်မှတ်ထားရန်ခွင့်ပြုသည်။

 var_dump(is_a('Dog', 'Animal', true));  // true,တရားစီရင်ချက် Dog ဟုတ်ကဲ့否继承 Animal

သို့သော်ဤကိစ္စတွင်ပင်ဒုတိယ parameter သည် string class name နှင့်ပြောင်းပြန်နိုင်ရန်မှာအမှားများရှိနေသေးသည်။

 var_dump(is_a('Animal', $dog, true)); // နေဆဲမှားနေပြီ,parameter အမိန့် inverted

အကျဉ်းချုပ်

  • is_a () function ကို၏ပထမ ဦး ဆုံး pareter သည်အရာဝတ်ထုတစ်ခုဖြစ်ရပါမည် (သို့မဟုတ် $ Allow_string သည် မှန်ပါသည် , ၎င်းသည်အတန်းအမည်ရှိသည့် string တစ်ခုဖြစ်ပြီးဒုတိယ parameter သည် class name string တစ်ခုဖြစ်ရမည်။

  • Parameter သည်အမိန့်ကိုပြောင်းပြန်ခြင်းသည်မှားယွင်းသောမတိုက်ဆိုင်မှုကိုဖြစ်ပေါ်စေပြီး Php သည် မှားယွင်းစွာ ပြန်လာလိမ့်မည်။

  • Parameter သည်လွှဲပြောင်းမှုအမှားများကြောင့်ရှာဖွေတွေ့ရှိရန်ခက်ခဲသောယုတ္တိရှိသောအားနည်းချက်များကိုရှောင်ရှားရန်အတွက်အထူးဂရုပြုမှုကိုအထူးဂရုပြုသင့်သည်။