Определение того, пусто ли динамическое свойствоPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Определение того, пусто ли динамическое свойство

Сообщение Anonymous »

Мне кажется, что я что-то упускаю. Я уже давно использую функцию PHP пустой(), чтобы определить, пуста ли переменная. Я хотел использовать его, чтобы определить, пусто ли свойство объекта, но почему-то это не работает. Вот упрощенный класс, иллюстрирующий проблему.

Код: Выделить всё

// 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) в свойстве Number. Как вы уже догадались, проблема в том, что php отображает «пусто». Но это не так!!!

Однако это работает, если я сохраняю свойство в переменной, а затем оцениваю его.

Итак, как лучше всего определить, пусто ли свойство объекта? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/117 ... y-is-empty
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»