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

PHP类属性变量能否拼接?如何简化代码输出类对象属性与运算结果

问题解答

  1. 类的属性变量可以正常拼接,PHP中字符串拼接使用.运算符,公共类属性的用法和普通变量完全一致,可直接取出参与拼接、运算等操作。
  2. 通过类对象打印属性变量直接使用$对象实例->属性名语法即可,和你现有代码中的写法一致。

优化实现方案

你原来的代码已经可以实现效果,我们可以通过增加构造方法、封装格式化输出逻辑,让代码更简洁易维护:

优化后的类代码

class Calculation
{
    // 类属性
    public $a;
    public $b;
    public $c;

    // 构造方法:实例化时直接传入运算参数,不用单独赋值
    public function __construct(int $a, int $b)
    {
        $this->a = $a;
        $this->b = $b;
    }

    // 求和
    public function sum()
    {
        $this->c = $this->a + $this->b;
        return $this->c;
    }

    // 求差
    public function sub()
    {
        $this->c = $this->a - $this->b;
        return $this->c;
    }

    // 求积
    public function mul()
    {
        $this->c = $this->a * $this->b;
        return $this->c;
    }

    // 封装求和结果的格式化输出逻辑
    public function getSumFormatStr(): string
    {
        return "Sum value of C1={$this->a}+{$this->b}=" . $this->sum();
    }
}

调用代码(一行实现输出)

$obj1 = new Calculation(10, 20);
echo $obj1->getSumFormatStr() . "<hr>";

运行后直接输出你需要的效果:

Sum value of C1=10+20=30

如果不想额外封装输出方法,也可以直接用字符串插值简化多行echo的写法:

$obj1 = new Calculation(10, 20);
echo "Sum value of C1={$obj1->a}+{$obj1->b}=" . $obj1->sum() . "<hr>";

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:45:04