အိမ်ခြံမြေဆိုင်ရာ 0 န်ကြီးချုပ် () သည်ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုသည်ပိုင်ဆိုင်မှုတစ်ခုဖြစ်သည်ဖြစ်စေ, ပိုင်ဆိုင်မှုတန်ဖိုးသည် တရား 0 င် ဖြစ်စေသည် ဖြစ်စေ,
သဒ္ဒါ:
property_exists(object|string $object_or_class, string $property): bool
ဥပမာ -
class User {
public $name;
private $email;
}
$user = new User();
var_dump(property_exists($user, 'name')); // true
var_dump(property_exists($user, 'email')); // true
var_dump(property_exists($user, 'age')); // false
အထက်ပါဥပမာမှတွေ့မြင်နိုင်သည့်အတိုင်း Property_exists () သည် ပုဂ္ဂလိကပိုင်ဆိုင်မှုများကိုရှာဖွေတွေ့ရှိနိုင်သည်။ ပစ္စည်းဥစ်စာပိုင်ဆိုင်မှုသည်အတန်းထဲတွင်တည်ရှိနေသရွေ့၎င်း တွင် မြင်သာမှုမည်သို့ပင်ရှိပါစေ,
အားသာချက်:
မြင်နိုင်သော (အများပြည်သူ, အကာအကွယ်ပေးထားသောပုဂ္ဂလိက) ဂုဏ်သတ္တိများအားလုံးကိုရှာဖွေတွေ့ရှိနိုင်သည်။
attribute ကိုသတ်မှတ်ထားမလားဆိုတာဂရုမစိုက်ဘူးဆိုတာ ဂရုမစိုက်ဘူး ဆိုတာဂရုမစိုက်ဘူး,
အားနည်းချက် -
attribute ကိုအစပြုထားရှိမရှိဆုံးဖြတ်ရန်မဖြစ်နိုင်ပါ, ၎င်းကိုကြေငြာခြင်းရှိမရှိကိုသာဆုံးဖြတ်နိုင်သည်။
variable တစ်ခုသတ်မှတ်ထားခြင်းရှိမရှိဆုံးဖြတ်ရာတွင် is is offert () သည်ပိုမိုများပြားသည် ။ ၎င်းကိုအရာဝတ်ထုဂုဏ်သတ္တိများကိုရှာဖွေရန်အတွက်လည်းအသုံးပြုနိုင်သည်။
သဒ္ဒါ:
isset(mixed $var): bool
ဥပမာ -
class User {
public $name;
public $email = null;
}
$user = new User();
var_dump(isset($user->name)); // false
var_dump(isset($user->email)); // false
$user->name = 'Tom';
var_dump(isset($user->name)); // true
အားသာချက်:
attribute ကိုသတ်မှတ်ထားခြင်းရှိမရှိဆုံးဖြတ်နိုင်ပါတယ် ။
ဒေတာရရှိနိုင်မှုကိုအတည်ပြုရန်ကျိုးကြောင်းဆီလျော်သောတရားစီရင်ရာများတွင်၎င်းကိုပိုမိုအသုံးဝင်သည်။
အားနည်းချက် -
ပုဂ္ဂလိကသို့မဟုတ်အကာအကွယ်ပေးထားသောဂုဏ်သတ္တိများကိုရှာဖွေတွေ့ရှိနိုင်မည်မဟုတ် (အတန်းပြင်ပသို့ဝင်ရောက်လျှင်) ။
အကယ်. attribute သည်တည်ရှိနေပါက Null ဖြစ်နေပါကရလဒ်မှာ မှားယွင်းသောအရာ ဖြစ်ပြီးမှားယွင်းစွာမှားယွင်းစွာဖြစ်ပေါ်စေနိုင်သည်။
နိှုင်းယှသ် | Property_exists () | ထုတ်ပေး () |
---|---|---|
attribute ကိုတည်ရှိရှိမရှိ | ? ဟုတ်ကဲ့ | ?? အကယ်. attribute ကိုသတ်မှတ်ထားခြင်းမရှိပါကသို့မဟုတ်တရားမဝင်သော်င်မဟုတ်လျှင်, |
အဆိုပါ attribute ကို null ဖြစ်ပါတယ် | ? မထိခိုက်ပါ | ? ပြန်လာခံရဖို့မှားယွင်းသောဖြစ်စေပါလိမ့်မယ် |
ပုဂ္ဂလိက / present attribute detection ကိုကာကွယ်ပါ | ? နိုင် | ? အတန်းအပြင်ဘက်ကိုကြည့်လို့မရဘူး |
ဒေတာတရားစီရင်မှုအတွက်အသုံးပြုခဲ့သည် | ? မအကြံပြုပါ | ? အများအားဖြင့်အသုံးပြုခဲ့သည် |
ရောင်ပြန်ဟပ်မှုအတွက် debugging သည် | ? ပိုပြီးတိကျမှု | ? အလုံအလောက်တိကျခိုင်မာပါဘူး |
ဇာတ်လမ်း 1 - attribute ကိုအတန်းထဲတွင်ကြေငြာခြင်းရှိမရှိဆုံးဖြတ်ပါ
Property_Exists () ကိုအသုံးပြုခြင်းသည်ပိုမိုယုံကြည်စိတ်ချရသော:
if (property_exists($user, 'name')) {
echo "အဆိုပါ attribute ကိုတည်ရှိ";
}
ဇာတ်လမ်း 2 - attribute တစ်ခုသတ်မှတ်ထားခြင်းရှိမရှိဆုံးဖြတ်ရန်
ISSET () ကို အသုံးပြုခြင်းသည် ပို. သင့်လျော်သည်။
if (isset($user->name)) {
echo "အဆိုပါ attribute ကိုတာဝန်ပေးအပ်ခဲ့သည် null";
}
ဖြစ်ရပ် 3: JSON Mapping Office Properties Api မှတဆင့်
PHP အရာဝတ်ထုသို့ JSON ဒေတာများကိုမြေပုံထုတ်သည့်အခါပစ္စည်းဥစ်စာသည် null ဖြစ်နိုင်သည်။
$json = '{"title": null}';
$data = json_decode($json);
var_dump(property_exists($data, 'title')); // true
var_dump(isset($data->title)); // false
ဤဥပမာသည်ဤဥပမာ သည်အများကိန်းများ ( ) ကြေငြာချက်များကိုရှာဖွေတွေ့ရှိသည်မှာရှင်းရှင်းလင်းလင်းဖော်ပြထားသည်။
များသောအားဖြင့်နှစ်ခုအကြားစွမ်းဆောင်ရည်ကွာခြားမှုသည်ကြီးမားသည့်စွမ်းဆောင်ရည်ကွာခြားမှုမဟုတ်သော်လည်း ISSET () သည် လက်ရာများ (function) ထက်အနည်းငယ်ပိုမြန်သည်။ သို့သော်တိကျမှန်ကန်မှုကိုစဉ်းစားခြင်းဖြင့်တရားစီရင်ခြင်းနှင့်အရာဝတ်ထုဖွဲ့စည်းပုံကိုရိုက်ကူးသည့်အခါပိုမိုရှင်းလင်းပြတ်သားသော semantics နှင့်အတူလုပ်ဆောင်မှုများကိုရွေးချယ်ရန်အကြံပြုသည်။
အကယ် . စွမ်းဆောင်ရည်လိုအပ်ချက်များသည်အလွန်မြင့်မားပြီးဖွဲ့စည်းပုံကိုယုံကြည်စိတ်ချရသောအာမခံချက်ကိုအာမခံထားပါက, သို့သော်, အကယ်. သင်သည်အိမ်ခြံမြေဆိုင်ရာကြေငြာချက်များကိုအသေးစိတ်သိရှိရန်လိုအပ်ပါက အိမ်ခြံမြေဝါဒီများ () ကို အသုံးပြုသင့်သည်။
လိုအပ်ချက် | အကြံပြု functions များ |
---|---|
attribute ကိုအတန်းထဲတွင်တည်ရှိရှိမရှိဆုံးဖြတ်ပါ | Property_exists () |
attribute ကိုသတ်မှတ်ထားခြင်းရှိမရှိဆုံးဖြတ်ရန်နှင့် NULL မဟုတ်ပါ | ထုတ်ပေး () |
အရာဝတ်ထုဖွဲ့စည်းပုံ, ရောင်ပြန်ဟပ်ခြင်းသို့မဟုတ်ကုဒ်မီးစက်ကိုကိုင်တွယ်ပါ | Property_exists () |
ယုတ္တိတရားစီရင်ချက်သို့မဟုတ်ဒေတာစိစစ်အတည်ပြုပါစေ | ထုတ်ပေး () |
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်သင်သည် Restablat API 0 န်ဆောင်မှုကိုတည်ဆောက်နေပါက, ဥပမာအားဖြင့်အမှားမက်ဆေ့ခ်ျတစ်ခုရှိ, မရှိဆုံးဖြတ်ရန်
if (property_exists($response, 'error')) {
// အမှားမက်ဆေ့ခ်ျကိုကိုင်တွယ်
}
သငျသညျ Non-venical strings သို့မဟုတ်တရားဝင်နံပါတ်များကဲ့သို့သောလယ်ကွင်းအတွက်အဓိပ္ပာယ်ရှိသောဒေတာကိုသာအာရုံစိုက်လျှင်, သင် is is is is is desolled () ကို သုံးနိုင်သည်။
if (isset($response->data->url)) {
$url = $response->data->url;
header("Location: https://gitbox.net/redirect?url=" . urlencode($url));
}