我正在看一些PHP代码:
<?php
-$username = "admin";
-$password = "secret";
-$database = "mystore";
mysql_connect("localhost", $username, $password);
mysql_select_db($database);
变量名称前面的减号有什么作用?
如果我在 PHP 解释器中做同样的事情,它会产生有效的代码,似乎没有区别:
$ php -a
Interactive shell
php > $a=1;echo $a;
1
php > -$a=2;echo $a;
2
我问谷歌,但她帮不了我。
-$username = "admin";
被评估为- ($username = "admin");
也就是说,前缀一元运算符-
应用于表达式。
表达式仅包含赋值。
因此,将字符串分配给一个变量,然后根据 php 语法,表达式返回相同的值,该值被隐式转换为数字并取反。然后结果被扔掉。
所以这里没有什么特别的意思,有人不小心放在那里。