Почему я не могу вызвать свойство существует в stdClass?
вот мой код:
<?php
$madeUpObject = new stdClass();
$madeUpObject->madeUpProperty = "abc";
echo $madeUpObject->madeUpProperty;
echo "<br />";
if (property_exists('stdClass', 'madeUpProperty')) {
echo "exists";
} else {
echo "does not exist";
}
?>
и вывод:
abc не существует
Так почему же это не работает?
3 ответов
попробуй:
if( property_exists($madeUpObject, 'madeUpProperty')) {
указание имени класса (вместо объекта, как я сделал) означает в stdClass
определение, вам нужно будет определить свойство.
вы можете видеть из демо что он печатает:
abc
exists
, потому что stdClass
не имеет никаких свойств. Вам нужно пройти в $madeUpObject
:
property_exists($madeUpObject, 'madeUpProperty');
на функции!--10--> следующим образом:
bool property_exists ( mixed $class, string $property )
на $class
параметр должен быть "имя класса или объект класса". The $property
должно быть имя свойства.
Если вас не беспокоят значения NULL, вы можете сохранить его простым с помощью isset
.