بخلاف JavaScript، لا تمتلك PHP بطبيعتها متغيرات كائنية خالصة. ومع ذلك، من الممكن التأكد من وجود خاصية داخل كائن أو فئة باستخدام طرق مختلفة.
تسمح وظيفة property_exists() بإجراء فحوصات صريحة على وجود الملكية. بناء الجملة الخاص بها هو:
if (property_exists($ob, 'a'))
حيث $ob هو الكائن أو مثيل الفئة.
بدلاً من ذلك، يمكن لـ isset() التحقق مما إذا تم تعيين خاصية داخل كائن. ومع ذلك، من المهم ملاحظة أن isset() تُرجع false إذا كانت قيمة الخاصية فارغة.
if (isset($ob->a))
إليك مثال يوضح الاختلافات:
$ob->a = null;
var_dump(isset($ob->a)); // false
على الرغم من وجود الخاصية، فإن isset() تُرجع خطأ بسبب القيمة الخالية.
class Foo
{
public $bar = null;
}
$foo = new Foo();
var_dump(property_exists($foo, 'bar')); // true
var_dump(isset($foo->bar)); // false
في هذا السيناريو، تُرجع خاصية property_exists() صحيحًا نظرًا لأن الخاصية محددة، بينما تُرجع isset() خطأ لأن القيمة فارغة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3