为了账号安全,请及时绑定邮箱和手机立即绑定

构造函数不设置成员变量,而是声明 new

构造函数不设置成员变量,而是声明 new

PHP
慕尼黑的夜晚无繁华 2022-07-02 15:26:50
我正在尝试使用基于外部文本文件的对象构建一个数组。但是类的构造函数并没有设置类的成员变量。相反,它使用值的名称声明新变量。我究竟做错了什么?输出Array(    [0] => slgDate Object        (            [date] =>             [day] =>             [info] =>             [13.01.2020] => 13.01.2020            [Mon] => Mon            [] =>         )    [1] => slgDate Object        (            [date] =>             [day] =>             [info] =>             [10.02.2020] => 10.02.2020            [Mon] => Mon            [] =>         )//...)代码class slgDate {    public $date, $day, $info;    function __construct($date, $day, $info = "Training") {        $this->$date = $date;        $this->$day = $day;        $this->$info = $info;    }}function getDates($f) {    $file = fopen($f, "r");    $dates = [];    while (!feof($file)) {        $fileGet = trim(fgets($file), "\r\n");        $expld = explode(';', $fileGet);        if (($date = strtotime($expld[0])) !== false) {            $info = $expld[1];            $strDate = date('d.m.Y', $date);            $strDay = date('D', $date);            $newDate = new slgDate($strDate, $strDay, $info);            array_push($dates, $newDate);        }    }    return $dates;}
查看完整描述

1 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

您必须访问没有前导的成员属性$

所以这意味着:

$this->date

代替

$this->$date


查看完整回答
反对 回复 2022-07-02
  • 1 回答
  • 0 关注
  • 52 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信