第一次我搜索了如何用PHP连接到数据库,我已经在这个例子中偶然发现:这两个之间的区别...?
mysql_connect("$host", "$username", "$password");
但是那是什么,这之间的区别?
mysql_connect($host, $username, $password);
第一次我搜索了如何用PHP连接到数据库,我已经在这个例子中偶然发现:这两个之间的区别...?
mysql_connect("$host", "$username", "$password");
但是那是什么,这之间的区别?
mysql_connect($host, $username, $password);
实际上没有区别形成用户视角。双引号中的变量将被评估,所以;
$hello="world";
$world="hello";
echo "$hello $world"
将打印“世界你好”。
此功能允许你做的
"$very $annoying $string"
代替 $very." ".$annoying." ".$string
这就像shell脚本(如果你熟悉shell脚本)。
第一你只是路过的字符串连接,如同$的用户名是您的实际用户名,后者你传递变量$的用户名,这将等于在用$更早的时候什么已设置的值username =“myUsername”
引用的变量是在PHP蒙上他们作为字符串,虽然他们已经是字符串。这只是一个冗余。如果它们是单引号而不是双引号,那么用户名字面上应该是'$ username' –
啊,我虽然需要用{}包围它们,以便将它识别为字符串。很长一段时间.. – TheRealTy
它的结果将完全相同!所以不要担心。但是如果你应该选择它们,你应该选择第二个。
唯一的区别在于,PHP需要处理字符串并检查是否存在变量,并用各自的值替换变量。
你可以阅读更多关于此这里:
http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing
编辑
但是如前所述,输出将是相同的。
"$var"
是完全废话。这是一个值为$var
的字符串。如果字符串不包含任何东西,但$var
,它等同于$var
:
$var = "foo";
$nonsense = "$var"; // → "foo"
"$var" == $var
。原样使用$var
,无需将其包装在一个字符串中。它也更快。
作为一个补充答案(不相关),只有当你想在一个字符串中使用'$ var'时才使用'“$ var”'。 '“你好,我的名字是$ name!”'相当于''你好,我的名字是'。 $名称。 '!''。 – SteeveDroz
作为补充扩展,如果'$ var'不是一个字符串,它将被转换为一个字符串,这可能会改变该值(例如数组)。尽管如此,你通常不会对数组做这样的事情,所以几乎所有的时候它都是无用的。如果你想明确地转换成字符串,通常首选'(string)$ var'。 – deceze
结果没有区别,除非在第二个不是数据类型string
。
PHP中的第一个"$string"
被解析为获得“valueofstring”。当你不得不插入字符串时,PHP消除了串联字符串的压力。
"something" . $string . "somethingelse"
"something{$string}somethingelse"
两者都是相同的。
为了清楚更长的字符串,建议您使用大括号{}
作为"{$string}"
。
$var = "World"
echo "Hello $var" // Output "Hello World"
echo 'Hello $var' // Output "Hello $var"
双引号替换变量内容。
如果你有一个数组,你必须做更多的事情:
$var = array("World")
echo "Hello {$var[0]}" // Output "Hello World"
注意尖括号{} betwenn是$ var [0]
这是我最容易理解的答案。我会接受这个。谢谢你澄清这一点。您还帮助我减少了字符串文字中的点数量。 – Vercas