PHP属性初始化,为什么这里报语法错误?

 我来答
Aileen0509
2016-08-18 · TA获得超过1492个赞
知道小有建树答主
回答量:371
采纳率:0%
帮助的人:414万
展开全部

PHP 官网中有对 Properties 的讲解,和你问题相关的内容如下:

They are defined by using one of the keywords public, protected, or private, followed by a normal variable declaration. This declaration may include an initialization, but this initialization must be a constant value--that is, it must be able to be evaluated at compile time and must not depend on run-time information in order to be evaluated.

类的属性的声明可以接受一个初始值,但是初始值必须是一个常量,就是必须在编译过程中可以求值的,并且求值过程不能依赖于运行期间的信息。


date( 'm/d/y h:i:s' ) 并不是一个常量,无法在编译期间求值,所以不是一个合法的属性的初始值。如果你希望在类初始化的时候就给  $birthday 赋值,那像下面一样写:


Class Test {

    public $name = 'blues wayne';

    public $birthday;
    
    public function __construct() {
    
        $this->birthday = date( 'Y-m-d' );
    
    }

}
TableDI
2024-07-18 广告
VLOOKUP是Excel中用于垂直查找的函数,其基本用法包括四个参数:1. 查找值:即在数据表首列中需要搜索的值。2. 数据表:包含查找值的单元格区域或数组。3. 返回值所在列数:指定返回查询区域中第几列的值。4. 查找方式:选择精确匹配... 点击进入详情页
本回答由TableDI提供
xzx_0123
2016-08-18 · 超过10用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:19.6万
展开全部
属性的初始化应该在构造函数里面
public $birthday;
然后构造函数 __construct 里面写
$this->birthday = date('m/d/y h:i:s');
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式