php пустой член объекта - PullRequest
0 голосов
/ 05 июля 2011

Я в классе.Я пытаюсь установить член объекта:

$this->list = "hello";
print $this->list;

Возвращает "привет";

Однако empty($this->list)) всегда возвращает true.

Но для необъектного члена $tmp = "hello", empty($tmp) вернуть false.

Почему empty() нельзя использовать на элементе объекта?

Обновление: empty () зависит от инфраструктуры my code.Вот почему это не работает должным образом.

1 Ответ

2 голосов
/ 05 июля 2011
<?php

  class Foo
  {
    var $bar;

    function Bar()
    {
      $this->bar = 'hello';
      echo "In class: " . (empty($this->bar) ? 'empty' : 'populated') . "\r\n";
    }
  }

  $foo = new Foo();
  $foo->Bar();

  echo "Out of class: " . (empty($foo->bar) ? 'empty' : 'populated');

Вывод:

В классе: населенный
Вне класса: населенный

Не уверен что вы имеете в виду .Может быть, предоставить больше кода?Кроме того, согласно руководству empty() следует учитывать следующие значения: пусто :

  • "" (пустая строка)
  • 0 (0 в виде целого числа)
  • 0.0 (0 в виде числа с плавающей запятой) 9 "0" (0 в виде строки)
  • NULL
  • FALSE
  • array () (пустой массив)
  • var $ var;(объявленная переменная, но без значения в классе)

Также попробуйте использовать на объекте var_dump, чтобы подтвердить, что вы ожидаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...