首页 > 后端开发 > php教程 > 如何在 PHP 中动态地为类属性赋值?

如何在 PHP 中动态地为类属性赋值?

Mary-Kate Olsen
发布: 2024-12-01 07:30:15
原创
651 人浏览过

How Can I Dynamically Assign Values to Class Properties in PHP?

PHP 中的动态类属性值分配

使用常量值定义类属性是 PHP 中的标准方法。但是,在某些情况下,可能需要动态分配值。

示例:

考虑以下代码:

class user {
    public $firstname = "jing";
    public $lastname  = "ping";
    public $balance   = 10;
    public $newCredit = 5;
    public $fullname  = $this->firstname.' '.$this->lastname;
    public $totalBal  = $this->balance+$this->newCredit;
}
登录后复制

这代码尝试根据其他属性的值动态分配 fullname 和totalBal 属性。但是,由于在类级属性中使用 $this,它会导致解析错误。

解决方案:

要动态分配类属性值,请将类构造函数中的赋值代码。例如:

class user {
    private $firstname;
    private $lastname;
    private $balance;
    private $newCredit;
    private $fullname;
    private $totalBal;
    
    public function __construct() {
        $this->firstname = "jing";
        $this->lastname  = "ping";
        $this->balance   = 10;
        $this->newCredit = 5;
        $this->fullname  = $this->firstname.' '.$this->lastname;
        $this->totalBal  = $this->balance+$this->newCredit;
    }
}
登录后复制

说明:

类属性在声明期间不能分配动态值。根据 PHP 手册,初始化必须是在编译时评估的常量值。通过使用构造函数,可以在对象创建时动态分配值。

以上是如何在 PHP 中动态地为类属性赋值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板