使用函数格式化双引号字符串

时间:2017-09-11 07:39:02

标签: php wordpress string woocommerce echo

我正在努力学习编写更高级的字符串。我知道我可以使用三种不同的陈述来做到这一点:

<?php
function1();
echo " | ";
function2();
?>

获得这样的结果:result1 | RESULT2

(我的真实世界的例子是创建wordpress中上一个和下一个帖子的链接,例如:

<?php   
previous_post_link( '%link', '< Previous' );
echo ' | ';
next_post_link( '%link', 'Next >' );
?>

但是,既然我正在努力改进并学习新事物,那么我正试图更清楚地写出来。我知道我可以使用双引号和大括号来插入函数,如下所示:

<?php
echo "{${function1()}} | {${function2()}}";
?>

但是这会返回如下结果:result1result2 |

为什么会发生这种情况?如何正确编写此代码?

谢谢!

1 个答案:

答案 0 :(得分:3)

这是因为你的&#34;清洁&#34;示例由php继续。步骤是:

  1. 调用function1()。功能立即输出到屏幕:&#34; result1&#34;
  2. 调用function2()。函数立即输出到屏幕:&#34; result2&#34;。你已经有了#34; result1result2&#34;在屏幕上
  3. 使用&#34;连接function1()的返回值 |函数2()的&#34;和返回值,并回显连接的字符串。正如我所假设的那样,返回的值为null,因为您的函数不使用return语句。所以,这一步的输出是&#34; | &#34;
  4. 最后,我们有&#34; result1result2 | &#34;