我想知道,插入PHP变量到字符串的正确方法是什么? 这种方式:
echo "Welcome ".$name."!"
或者这样:
echo "Welcome $name!"
这两种方法都可以在我的PHP v5.3.5中使用。后者更短更简单,但我不确定前者是更好的格式还是更合适。
我想知道,插入PHP变量到字符串的正确方法是什么? 这种方式:
echo "Welcome ".$name."!"
或者这样:
echo "Welcome $name!"
这两种方法都可以在我的PHP v5.3.5中使用。后者更短更简单,但我不确定前者是更好的格式还是更合适。
当前回答
从php4开始,你可以使用字符串格式化器:
$num = 5;
$word = 'banana';
$format = 'can you say %d times the word %s';
echo sprintf($format, $num, $word);
来源:sprintf ()
其他回答
双引号字符串更优雅,因为您不必在每次需要插入变量时拆分字符串(就像您必须对单引号字符串做的那样)。
但是,如果需要插入函数的返回值,则不能将其插入双引号字符串中——即使使用大括号将其括起来!
//syntax error!!
//$s = "Hello {trim($world)}!"
//the only option
$s = "Hello " . trim($world) . "!";
在这两种语法之间,你应该选择一个你喜欢的:-)
就我个人而言,在这种情况下,我会选择你的第二个解决方案(变量插值),我发现它更容易写和读。
结果是一样的;即使对性能有影响,那也不重要。
作为旁注,所以我的回答更完整一点:那天你会想做这样的事情:
echo "Welcome $names!";
PHP会将您的代码解释为您试图使用$names变量——这个变量并不存在。 -注意,只有在字符串中使用" not "时它才会起作用。
那天,你需要使用{}:
echo "Welcome {$name}s!"
不需要退回到连接。
还要注意你的第一个语法:
echo "Welcome ".$name."!";
可以优化,避免连接,使用:
echo "Welcome ", $name, "!";
(但是,就像我之前说的,这并不重要…)
1 -除非你在做成千上万次的拼接和插值——这可能不是完全的情况。
你应该选择第一个。他们没有什么不同,除了性能,第一个将是最快的第二个比较。
如果双引号内的变量PHP需要时间来解析变量。
检查这个单引号或双引号变量连接?
在php中单引号和双引号是否有性能上的优势?
我不明白为什么上面链接的这个答案会被点赞,为什么这个答案会被点赞。
我也说过了。
你也可以看这里
PHP中哪个更快,单引号还是双引号?
我一直都喜欢这种方式,而且发现它容易得多。
echo "Welcome {$name}!"
两种都可以。使用对你来说能见度更好的那个。说到可见性,你也可以查看printf。