【发布时间】:2018-06-27 10:14:27
【问题描述】:
我有这门课:
class codici {
public $i;
public $len;
public $str;
public $type;
function __construct()
{
$this->getPad($this->i);
}
public function getPad($i)
{
return ''.str_pad($i,4,'0',0);
}
}
我就是这样使用它的:
$cod = new codici();
$cod_cliente = $cod->i = 1; //return 1
$cod_cliente = $cod->getPad(1); //return 0001
如果我直接调用类,__constructor 调用内部方法 getPad 并返回错误答案“1”。相反,如果我调用 getPad 方法,则返回正确的值“0001”。
为什么我不能使用$cod_cliente=$cod->i=1?
【问题讨论】:
-
$cod_cliente=$cod->i=1不符合您的预期。 -
构造函数是初始化对象的神奇方法。当 __construct() 被调用时 $this->i 没有值所以你不能用它来设置另一个值
-
好的,我猜对了。
标签: php class constructor zerofill