回声弦乐时更好

时间:2011-08-26 22:30:56

标签: php string concatenation echo

我只是好奇这三种类型的字符串有什么区别。

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']}";

让它发挥作用。

有没有人解释为什么会这样?

4 个答案:

答案 0 :(得分:0)

"$foo""{$foo}"之间的差异只是解析问题 - PHP解析器在插值时仅解析变量名称的某些字符,除非有{{1它周围(在这种情况下解析任何字符)。

答案 1 :(得分:0)

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

echo "Hello my name is $name";

echo "Hello my name is ".$data['name'];
  回声“你好我的名字是$ data ['name']”;
  你需要做...
  echo“你好我的名字是{$ data ['name']}”;

你可以做到

  

echo“您好我的名字是$ data [name]”;

答案 2 :(得分:0)

我强烈反对连接,当字符串中的简单变量插值就足够了。连接太多会使代码无法读取。

"text $variable text"

表示简单变量

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

复杂变量

答案 3 :(得分:0)

人们发表意见,没关系,但事实如下:

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

基本上,无论你怎么做,只要选择你喜欢的并坚持下去。如果您与一群人一起工作,只需使用相同的约定,即可获得干净的代码。