You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决PHP开发中出现的未定义变量与未定义属性警告问题

问题原因分析

你代码里的警告是两处语法错误导致的:

  • get_name()方法中错误使用了动态属性写法$this->$name:PHP中$this->后直接跟属性名即可,不需要额外加$符号。额外加$会触发动态属性解析,先读取当前作用域下的$name变量作为属性名,而该方法内没有定义$name变量,就会先后抛出未定义变量、未定义属性警告。
  • get_age()方法同时存在两个错误:一是和上面一样多写了$符号,二是错误调用了name相关属性而非age属性,返回值不符合预期。

修复后代码

<?php
// 已修复代码
class Pet {
    public $name;
    public $age;    

    // name属性的get/set方法
    function set_name($name) {
        $this->name = $name;
    }
    function get_name() {
        return $this->name;
    }

    // age属性的get/set方法
    function set_age($age) {
        $this->age = $age;
    }
    function get_age() {
        return $this->age;
    }
}
.....

补充说明:该问题已解决,无需再提交新的回答。

内容的提问来源于stack exchange,提问作者Kent23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:42:03