الفرق بين المراجعتين لصفحة: «PHP/property exists»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 10: | سطر 10: | ||
تتحقق الدالة <code>property_exists()</code> فيما إذا كانت الخاصية <code>property</code> المُعطاة موجودةً في الصنف المُحدّد. | تتحقق الدالة <code>property_exists()</code> فيما إذا كانت الخاصية <code>property</code> المُعطاة موجودةً في الصنف المُحدّد. | ||
ملاحظة: على عكس الدالة <code>[[PHP/isset|isset()]]</code>، ستُعيد الدالة <code>property_exists()</code> القيمة <code>TRUE</code> حتى لو كان لدى الخاصية القيمة <code>NULL</code>. | |||
== المعاملات == | == المعاملات == | ||
سطر 32: | سطر 30: | ||
== سجل التغييرات == | == سجل التغييرات == | ||
{| class="wikitable" | {| class="wikitable" | ||
!الإصدار | |||
!الوصف | |||
|- | |- | ||
|5.3.0 | |5.3.0 | ||
| تتحقق هذه | | تتحقق هذه الدالة من وجود خاصية بشكل مُستقل عن إمكانية الوصول إليها. | ||
|} | |} | ||
سطر 51: | سطر 49: | ||
} | } | ||
var_dump(property_exists('myClass', 'mine')); //true | var_dump(property_exists('myClass', 'mine')); //true | ||
var_dump(property_exists(new myClass, 'mine'));//true | var_dump(property_exists(new myClass, 'mine')); //true | ||
var_dump(property_exists('myClass', 'xpto')); | var_dump(property_exists('myClass', 'xpto')); //true, PHP 5.3.0 منذ النسخة | ||
var_dump(property_exists('myClass', 'bar')); | var_dump(property_exists('myClass', 'bar')); //false | ||
var_dump(property_exists('myClass', 'test')); | var_dump(property_exists('myClass', 'test')); //true, PHP 5.3.0 منذ النسخة | ||
myClass::test(); | myClass::test(); | ||
?> | ?> | ||
سطر 60: | سطر 58: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* الدالة <code>[[PHP/method exists|method_exists()]]</code>: التحقق فيما إذا كانت الدالة المُحددة التابعة للصنف | * الدالة <code>[[PHP/method exists|method_exists()]]</code>: التحقق فيما إذا كانت الدالة المُحددة التابعة للصنف موجودةً. | ||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 03:47، 16 أبريل 2018
(PHP 5 >= 5.1.0, PHP 7)
تتحقق الدالة property_exists()
فيما إذا كان لدى الكائن أو الصنف الخاصيّة property
.
الوصف
bool property_exists ( mixed $class , string $property )
تتحقق الدالة property_exists()
فيما إذا كانت الخاصية property
المُعطاة موجودةً في الصنف المُحدّد.
ملاحظة: على عكس الدالة isset()
، ستُعيد الدالة property_exists()
القيمة TRUE
حتى لو كان لدى الخاصية القيمة NULL
.
المعاملات
class
اسم الصنف أو كائن من الصنف الذي يُراد اختباره.
property
اسم الخاصية المراد التأكد من وجودها.
القيم المعادة
تُعيد الدالة property_exists()
القيمة TRUE
إذا كانت الخاصية موجودة، وتُعيد القيمة FALSE
إذا كانت الخاصية غير موجودة، وتُعيد NULL
في حال حدوث خطأ.
ملاحظات
عند استخدام هذه الدالة فستستدعى أيّة تحميلات تلقائية autoloaders
مُسجلة إذا لم يكن الصنف مُعرَّفًا من قبل.
لا يمكن أن تكتشف الدالة property_exists()
الخواص التي يمكن الوصول إليها بطريقة سحرية باستخدام الدالة السحرية التابعة للصنف __get
.
سجل التغييرات
الإصدار | الوصف |
---|---|
5.3.0 | تتحقق هذه الدالة من وجود خاصية بشكل مُستقل عن إمكانية الوصول إليها. |
أمثلة
المثال 1: مثال عن استخدام الدالة property_exists()
<?php
class myClass {
public $mine;
private $xpto;
static protected $test;
static function test() {
var_dump(property_exists('myClass', 'xpto')); //true
}
}
var_dump(property_exists('myClass', 'mine')); //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto')); //true, PHP 5.3.0 منذ النسخة
var_dump(property_exists('myClass', 'bar')); //false
var_dump(property_exists('myClass', 'test')); //true, PHP 5.3.0 منذ النسخة
myClass::test();
?>
انظر أيضًا
- الدالة
method_exists()
: التحقق فيما إذا كانت الدالة المُحددة التابعة للصنف موجودةً.