什么是更好的回显字符串


Whats better when echoing strings

我很好奇这三种类型的字符串有什么不同。

echo "Hello my name is ".$name;
echo "Hello my name is $name";
echo "Hello my name is {$name}";

我知道在第三种情况下,当你使用带有键的数组时,它比第二种情况更需要。例如,我知道下面的命令行不通。

echo "Hello my name is $data['name']";

你需要做…

echo "Hello my name is{$data['name']}";

让它工作

有人能解释一下为什么会这样吗?

大家都在发表自己的观点,这很好,但事实是:

  • 连接更快
  • 通过连接获得的时间是微不足道的,并不是证明其使用的好理由
  • 最后,无论你选择什么方法,代码都会做同样的事情

基本上,你怎么做并不重要,只要选择你最喜欢的并坚持下去。如果您和一群人一起工作,为了代码的整洁,请使用相同的约定。

"$foo""{$foo}"之间的区别只是解析的问题- PHP解析器在插入时只解析变量名的某些字符,除非周围有{}(在这种情况下,任何字符都被解析)。

这是每个人的意见。我喜欢

echo "Hello my name is $name";
echo "Hello my name is ".$data['name'];

echo "Hello my name is $data['name']";
你需要做…
"你好,我的名字是{$data['name']}";

你可以做

echo "Hello my name is $data[name]";

当在字符串中简单的变量插值就足够时,我强烈反对串联。过多的连接会导致代码不可读。

"text $variable text"

表示简单变量

"text {$array['key']} text"

对于复杂变量