PHP:在类中使用字符串分隔符时出错

发布于 2024-10-14 04:51:52 字数 308 浏览 2 评论 0原文

为什么我不能在类内的变量中使用分隔符 (.)?

class Object(){
    public $var  = "Hello"."World";
    # Or
    public $test = "Hello";
    public $var2 = $this->test."World";
}

这段代码给了我这个错误:

解析错误:语法错误、意外的“.”、期望的“,”或“;”在 test.php 第 2 行

我应该怎么做?

Why I can't use separators (.) in variables inside a class?

class Object(){
    public $var  = "Hello"."World";
    # Or
    public $test = "Hello";
    public $var2 = $this->test."World";
}

This code gives me this error:

Parse error: syntax error, unexpected '.', expecting ',' or ';' in test.php on line 2

And how should I do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

从此见与不见 2024-10-21 04:51:52

因为你不能用变量表达式声明类属性。这意味着您不能使用任何算术运算符 + - * / 或连接运算符 .,并且不能调用函数。在您的三行中,只有 $test 应该有效;另外两个会给你错误。

如果您需要动态构建字符串,请在构造函数中进行。

class Object {
    public $test = "Hello";
    public $var2;

    public function __construct() {
        $this->var2 = $this->test . "World";
    }
}

顺便说一句, . 不是“字符串分隔符”。这是连接运算符。您可以使用它连接字符串,而不是分离它们。

Because you cannot declare class properties with variable expressions. That means you cannot use any arithmetic operators + - * / or the concatenation operator ., and you can't call functions. Out of your three lines, only $test should work; the other two will give you errors.

If you need to build your strings dynamically, do it in the constructor.

class Object {
    public $test = "Hello";
    public $var2;

    public function __construct() {
        $this->var2 = $this->test . "World";
    }
}

By the way, . is not a "string separator". It's the concatenation operator. You use it to join strings, not separate them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文