Я чувствую, что здесь что-то не хватает. Я уже давно использовал PHP empty()
функцию определения пустой переменной. Я хотел использовать его для определения, является ли свойство объекта пустым, но почему-то это не работает. Здесь упрощенный класс для иллюстрации проблемы
// The Class
class Person{
private $number;
public function __construct($num){
$this->number = $num;
}
// this the returns value, even though its a private member
public function __get($property){
return intval($this->$property);
}
}
// The Code
$person = new Person(5);
if (empty($person->number)){
echo "its empty";
} else {
echo "its not empty";
}
В принципе, объект $person
должен иметь значение (5) в свойстве номера. Как вы, возможно, догадались, проблема в том, что php перекликается с "пустым". Но это не!!!
Однако он работает, если я сохраняю свойство в переменной, а затем оцениваю его.
Итак, что было бы лучшим способом определить, является ли свойство объекта пустым? Спасибо.