
function foobar(){ echo "<hr />"; return "hello world"; } echo <<<TOKEN <p> 第一种:${foobar()} </p> <p> 第二种:{${foobar()}} </p> TOKEN; 输出结果为:
<hr /><hr /> <p> 第一种: </p> <p> 第二种: </p> 请问我return的hello world哪里去了?
官方 复杂(花括号)语法 的代码例子中有这么调用过: http://php.net/manual/zh/language.types.string.php
1 FelixXie 2017 年 6 月 21 日 $helloworld 没有定义啊。 |
2 klgd 2017 年 6 月 21 日 你为什么要加“$”? |
3 nullen 2017 年 6 月 21 日 好像是楼主自己的锅? |
4 mooncakejs 2017 年 6 月 21 日 via iPhone 从 nodejs 过来的? |
5 vus520 2017 年 6 月 21 日 function foobar(){ echo "<hr />"; echo "hello world"; } return 并不是输出,只是返回 |
8 bombless 2017 年 6月 21 日 ……你没看仔细吧 https://3v4l.org/EAgOC |
9 iguoji OP @vus520 官方代码例子有这么一行 ```php echo "This is the value of the var named by the return value of getName(): {${getName()}}"; ``` 但他没有给出具体`getName()`函数的定义,所以我认为这个函数会返回一个字符串,然后拼接在这整个 echo 语句中。 |
10 bombless 2017 年 6 月 21 日 getName()返回的不是字符串,它返回的是一个本地变量的变量名 |
11 U7Q5tLAex2FI0o0g 2017 年 6 月 21 日 楼主没有认真看手册的结果 $aa = 'aaaa'; $bb = 'bbbb'; function foo() { return 'aa'; } echo ${foo()}; // aaaa 因为 foo 返回的是 aa,所以打印的是$aa,即 aaaa,而不是打印'aa' |
12 meanmachine 2017 年 6 月 21 日 via Android @iguoji 这将会返回一个变量名由 getName()返回值得到的的变量值 |
14 mokeyjay 2017 年 6 月 21 日 看起来你不知道 $$var 的用法。 $a = 'b'; $b = '233'; echo $$a; // output: '233' 同理,你的 foobar()应该返回一个变量名。例如你首先要定义: $hello_world = 'Hello World'; 然后再定义一个函数返回这个 变量名 : function footbar(){ return 'hello_world'; } 最后再: echo <<<EOT <p> 第二种:{${footbar()}} </p> EOT; 这样才能输出你想要的结果 |
17 hexiaolu 2017 年 6 月 21 日 我就想知道,有哪个蛋疼的 phper 会这样用? 不把他喷死我就不是一个合格 html 工程师。 |
18 mingyun 2017 年 6 月 22 日 这种特性工作中还是别用了 |