提问人:aborted 提问时间:10/23/2012 最后编辑:Dennisaborted 更新时间:4/17/2015 访问量:37977
变量前面的感叹号 - 需要澄清
Exclamation mark in front of variable - clarification needed
问:
我已经使用 PHP 很长一段时间了,但这对我来说一直是个谜,在变量前面正确使用感叹号(负号)。
什么表示?var 、 空、未设置等吗?!$var
false
以下是我需要学习的一些例子......
示例 1:
$string = 'hello';
$hello = (!empty($string)) ? $string : '';
if (!$hello)
{
die('Variable hello is empty');
}
这个例子有效吗?if 语句真的有效吗?$string
示例 2:
$int = 5;
$count = (!empty($int)) ? $int : 0;
// Note the positive check here
if ($count)
{
die('Variable count was not empty');
}
这个例子有效吗?
我从不使用上述任何示例,我将这些示例限制为仅具有布尔值的变量。我只需要知道这些例子是否有效,这样我就可以扩大这些语句的使用范围。他们看起来很干净。if ($var)
if ($var)
谢谢。
答:
2赞
William The Dev
10/23/2012
#1
这是一个布尔测试器。空或假。
1赞
mensi
10/23/2012
#2
它是布尔运算符,有关详细信息,请参阅 PHP 手册。not
27赞
bhovhannes
10/23/2012
#3
if(! $a)
与 相同。此外,还应考虑到使用运算符时会发生类型转换。
有关更多详细信息,请查看此处的“与 == 的松散比较”部分。由此可见,对于字符串,“0”和“”等于 FALSE(为 TRUE,也是 TRUE)。if($a == false)
==
"0"==false
""==false
关于发布的例子:
示例 1
它会起作用,但您应该注意,“0”和“”都是“空”字符串。
示例 2:
它会起作用
评论
1赞
aborted
10/23/2012
终于有人真正理解了我的意思。这张表回答了我的问题。从那里我们可以理解,那么将是.那些说我需要学习基本知识的人,请下次试着仔细阅读问题,先理解我在问什么。不要急于给出一个实际上没有回答我(或其他人)问题的答案。非常感谢bhovhannes。Comparisons of $x with PHP functions
$x = "php";
if($x)
true
评论