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 ကိုအမိန့်ကိုပြောင်းပြန်ဖြင့်ရေးပါကဥပမာ -
var_dump(is_a('Animal', $dog)); // အမှားသရုပ်ပြ
ဒီအချိန်မှာဘာဖြစ်မလဲ ခွဲခြမ်းစိတ်ဖြာကြပါစို့
ပထမ ဦး ဆုံးအငြင်းအခုံသည် string 'တိရိစ္ဆာန်' မဟုတ်ဘဲအရာဝတ်ထုမဟုတ်ပါ။
ဒုတိယ 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,နှင့်သတိပေးချက်
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 သည်လွှဲပြောင်းမှုအမှားများကြောင့်ရှာဖွေတွေ့ရှိရန်ခက်ခဲသောယုတ္တိရှိသောအားနည်းချက်များကိုရှောင်ရှားရန်အတွက်အထူးဂရုပြုမှုကိုအထူးဂရုပြုသင့်သည်။