我第一次搜索如何使用PHP连接到数据库时我偶然发现了这个例子:
mysql_connect("$host", "$username", "$password");
但是这和它之间的区别是什么?
mysql_connect($host, $username, $password);
答案 0 :(得分:3)
"$var"
完全是胡说八道。这是一个代替$var
的字符串。如果字符串不包含$var
以外的任何内容,则它与$var
相同:
$var = "foo";
$nonsense = "$var"; // → "foo"
"$var" == $var
。按原样使用$var
,无需将其包装在字符串中。它也更快。
答案 1 :(得分:2)
唯一的区别是,在第一行中,PHP需要处理字符串并检查其中是否有变量,并用各自的值替换变量。
您可以在此处详细了解:
http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing
修改强>
但如上所述,输出将是相同的。
答案 2 :(得分:1)
实际上没有形成用户视角的差异。将评估变量双引号,因此;
$hello="world";
$world="hello";
echo "$hello $world"
将打印“世界你好”。
此功能允许您执行
"$very $annoying $string"
代替
$very." ".$annoying." ".$string
这就像shell脚本(如果你熟悉shell脚本)。
答案 3 :(得分:0)
它的结果将完全相同!所以不要担心。但如果你应该在它们之间做出选择,你应该选择第二个。
答案 4 :(得分:0)
结果方面没有区别,除非第二个不是数据类型string
。
解析php中的第一个"$string"
以获得“valueofstring”。当你必须插入字符串文字时,PHP消除了用于连接字符串的压力。
"something" . $string . "somethingelse"
"something{$string}somethingelse"
两者都是一样的。
为了清晰起见较长的字符串,建议您使用大括号{}
作为"{$string}"
。
答案 5 :(得分:0)
$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]
的尖括号{}答案 6 :(得分:-1)
第一个你只是将字符串传递给连接,好像$ username是你的实际用户名,后者传递变量$ username的值,它等于早先用$ username =“myUsername设置的值“