Php 用于在魔术引号字符串中回显类属性的语法
我想用神奇的引号回显属性的值Php 用于在魔术引号字符串中回显类属性的语法,php,Php,我想用神奇的引号回显属性的值 $obj = new stdClass; $obj->foo = 123; echo "foo: ${obj->foo}"; 此操作失败,并显示以下错误消息: 分析错误:语法错误,中出现意外的T_对象_运算符 /第3行的foobar/test.php 我知道我可以这样写: echo "foo: ".$obj->foo; 但在这种情况下,花括号不也应该起作用吗?你的几乎是对的: echo "foo: {$obj->foo}"; 说: 任何
$obj = new stdClass;
$obj->foo = 123;
echo "foo: ${obj->foo}";
此操作失败,并显示以下错误消息:
分析错误:语法错误,中出现意外的T_对象_运算符
/第3行的foobar/test.php
我知道我可以这样写:
echo "foo: ".$obj->foo;
但在这种情况下,花括号不也应该起作用吗?你的几乎是对的:
echo "foo: {$obj->foo}";
说:
任何带有字符串的标量变量、数组元素或对象属性
可以通过此语法包含表示。只需写下
表达式的显示方式与它在字符串外部的显示方式相同,并且
然后用{和}把它包起来。由于{不能转义,因此此语法将
只有在{之后紧接着美元时才能确认
我在回答的时候也应该提到这一点,但是这个表达式实际上不需要括号
echo "foo: $obj->foo";
应该可以正常工作。您的基本正确:
echo "foo: {$obj->foo}";
说:
任何带有字符串的标量变量、数组元素或对象属性
可以通过此语法包含表示
表达式的显示方式与它在字符串外部的显示方式相同,并且
然后将其包装在{和}中
只有在{之后紧接着美元时才能确认
我在回答的时候也应该提到这一点,但是这个表达式实际上不需要括号
echo "foo: $obj->foo";
应该没问题。把$sign移动一下,我的朋友
<?php
$obj = new stdClass;
$obj->foo = 123;
echo "foo: {$obj->foo}";
只需移动$sign,我的朋友
<?php
$obj = new stdClass;
$obj->foo = 123;
echo "foo: {$obj->foo}";