我第一次搜索如何使用PHP连接数据库时,偶然发现了这个例子:
mysql_connect("$host", "$username", "$password");
但这和这个有什么区别?
mysql_connect($host, $username, $password);
"$var"
完全是无稽之谈。这是一个值为$var
的字符串。如果该字符串除了$var
之外不包含任何内容,则它与$var
:相同
$var = "foo";
$nonsense = "$var"; // → "foo"
"$var" == $var
。按原样使用$var
,无需将其封装在字符串中。它也更快。
唯一的区别是,在第一行中,PHP需要处理字符串,并检查其中是否有变量,并用它们各自的值替换变量。
你可以在这里阅读更多信息:
http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing
编辑
但如前所述,输出将是相同的。
实际上与用户视角没有区别。双引号中的变量将被求值,因此;
$hello="world";
$world="hello";
echo "$hello $world"
将打印"世界你好"。
此功能允许您进行
"$very $annoying $string"
而不是$very." ".$annoying." ".$string
这就像shell脚本(如果您熟悉shell脚本)。
它的结果将完全相同!所以不用担心。但是如果你应该在它们之间做出选择,你应该选择第二个。
$var = "World"
echo "Hello $var" // Output "Hello World"
echo 'Hello $var' // Output "Hello $var"
双引号替换可变内容。
如果你有一个数组,你必须做更多的事情:
$var = array("World")
echo "Hello {$var[0]}" // Output "Hello World"
注意$var[0]之间的尖括号{}
除非第二个数据类型不是string
,否则结果没有差异。
php中的第一个"$string"
被解析为"valueofstring"。PHP消除了在必须插入字符串文字时连接字符串的压力。
"something" . $string . "somethingelse"
"something{$string}somethingelse"
两者都是一样的。
为了在较长的字符串中清晰起见,建议您将大括号{}
用作"{$string}"
。
第一个是将字符串传递到连接,就好像$username是您的实际用户名一样,第二个是传递变量$username的值,该值将等于之前使用$username="myUsername"设置的值