Hàm property_exists() trong PHP có nhiệm vụ xem trong Object hoặc một Class có thuộc tính nào đó không. Việc xem xét 1 thuộc tính có tồn tại trong đối tượng là cần thiết trước khi sử dụng trong PHP. Hàm property_exists cũng hữu ích khi kết hợp cùng các hàm magic trong php.
Cú pháp
Cú pháp hàm property_exists() trong PHP như sau:
property_exists ( mixed $class , string $property ) : bool
Tham số truyền vào
- $class là tên class cần kiểm tra.
- $property là thuộc tính cần kiểm tra.
Cảnh báo
- Khác với khi sử dụng isset(), property_exists() sẽ vẫn trả về là TRUE ngay cả trường hợp giá trị của phương thức là NULL.
Giá trị trả về
Hàm này trả về TRUE nếu trait tồn tại và FALSE nếu không tồn tại.
Ví dụ minh họa
<?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, as of PHP 5.3.0 var_dump(property_exists('myClass', 'bar')); //false var_dump(property_exists('myClass', 'test')); //true, as of PHP 5.3.0 myClass::test(); ?>
Ứng dụng
Kiểm tra các thuộc tính động trong Object
<?php class TestClass { public $declared = null; } $testObject = new TestClass; var_dump(property_exists("TestClass", "dynamic")); // boolean false, as expected var_dump(property_exists($testObject, "dynamic")); // boolean false, same as above $testObject->dynamic = null; var_dump(property_exists($testObject, "dynamic")); // boolean true unset($testObject->dynamic); var_dump(property_exists($testObject, "dynamic")); // boolean false, again. var_dump(property_exists($testObject, "declared")); // boolean true, as espected unset($testObject->declared); var_dump(property_exists($testObject, "declared")); // boolean true, even if has been unset()
Trường hợp sử dụng namespace
<? namespace MyNS; class A { public $foo; } property_exists("A", "foo"); // false property_exists("\\MyNS\\A", "foo"); // true ?>
Trong trường hợp bạn muốn kiểm tra các property khi sử dụng namespace bạn cần phải điền đầy đủ cả tên namespace thì hàm property_exists() mới có thể kiểm tra được.
Các hàm liên quan
- method_exists() – Kiểm tra sự tồn tại của một phương thức.
Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm property_exists() trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé. Cảm ơn bạn đã ghé thăm codetutam.com