在php中声明没有初始值的字段?

时间:2010-04-04 14:17:28

标签: php oop

我不想给出初始值。我想稍后使用set方法

设置它们
class Duck {
    var int id;
    var set = Array();
}

知道如何声明而不会出错吗?

4 个答案:

答案 0 :(得分:2)

您的问题标记为PHP,但它看起来不像我知道的任何PHP。这是正确的PHP:

class Duck {
  private $id;
  private $set = array();
}

您不需要像此示例中那样为$set指定初始值,但这只是意味着它获得标准默认值0,falsearray()等取决于关于如何使用它所以我不确定你想要实现的目标。

你通常最好不要明白。

答案 1 :(得分:0)

class Duck { var $int, $set = array(); }

答案 2 :(得分:0)

更多PHP是:

 class Duck {
      public $id;
 }

 $d = new Duck;
 $d->id = 5;

答案 3 :(得分:0)

方法可以是Typ check;

private $props = array();
static $types = array ("id" => "is_integer","name" => "is_string");

public function __set($name,$value) 
{
   if(array_key_exists($name, self::$types)) 
   {
      if(call_user_func(self::$types[$name],$value)) 
      {
        $this->props[$name] = $value;
      }
      else 
      {
        print "Type assignment error\n";
        debug_print_backtrace();
      }
   }
}