الفرق بين المراجعتين ل"PHP/property exists"

من موسوعة حسوب
< PHP
اذهب إلى التنقل اذهب إلى البحث
 
سطر 10: سطر 10:
  
 
تتحقق الدالة <code>property_exists()</code>‎‎‎‎‎‎‎ فيما إذا كانت الخاصية <code>property</code>  المُعطاة موجودةً في الصنف المُحدّد.
 
تتحقق الدالة <code>property_exists()</code>‎‎‎‎‎‎‎ فيما إذا كانت الخاصية <code>property</code>  المُعطاة موجودةً في الصنف المُحدّد.
{| class="wikitable"
 
|ملاحظة: على عكس الدوال isset()‎ و property_exists()‎، ستُعيد الدالة property_exists()‎ القيمة TRUE حتى لو كان لدى الخاصية القيمة NULL.
 
|}
 
  
 +
ملاحظة: على عكس الدالة <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')); //true, PHP 5.3.0 ‏منذ النسخة‏
+
var_dump(property_exists('myClass', 'xpto'));   //true, PHP 5.3.0 ‏منذ النسخة‏
var_dump(property_exists('myClass', 'bar'));   //false
+
var_dump(property_exists('myClass', 'bar'));   //false
var_dump(property_exists('myClass', 'test')); //true, PHP 5.3.0 ‏منذ النسخة‏
+
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()‎‎‎‎‎: التحقق فيما إذا كانت الدالة المُحددة التابعة للصنف موجودةً.

مصادر