2010-04-04 50 views
1

我不想给出初始值。我想稍后使用设置方法设置它们在php中声明没有初始值的字段?

class Duck { 
    var int id; 
    var set = Array(); 
} 

任何想法如何声明而不会出现错误?

+0

PHP使用宽松输入。你只能在函数或异常参数中输入提示。 – 2010-04-04 14:21:02

回答

2

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

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

你并不需要指定$set的初始值在这个例子中,但只是意味着它得到的0标准的默认值,falsearray()等上它是如何的依赖使用,所以我不知道你想达到什么。

你通常比较清楚。

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

更PHP是:

class Duck { 
     public $id; 
} 

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

的方法可能是典型值检查;

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(); 
     } 
    } 
}