Php 对象初始化以“开始”&引用;
我刚找到Php 对象初始化以“开始”&引用;,php,Php,我刚找到 $foo=新条($var,$var2) PHP代码的一部分。“!”是什么意思?!在这个例子中,它只是一个否定词,毫无用处。它没有什么特别的意思。我想有个打字错误 考虑到以下准则: $foo = new Bar($var, $var1); var_dump(!$foo); // bool(false) var_dump($foo == true); // bool(true) 将对象强制转换为布尔值将始终导致true 将一个对象与另一个不带==的对象进行比较将始终得到t
$foo=新条($var,$var2)代码>
PHP代码的一部分。“!”是什么意思?!在这个例子中,它只是一个否定词,毫无用处。它没有什么特别的意思。我想有个打字错误
考虑到以下准则:
$foo = new Bar($var, $var1);
var_dump(!$foo); // bool(false)
var_dump($foo == true); // bool(true)
- 将对象强制转换为布尔值将始终导致
true
- 将一个对象与另一个不带
==
的对象进行比较将始终得到true
因此,在赋值的左半部分对一个对象使用否定在这里没有任何效果。在这里,它完全没有意义
是“逻辑非”运算符,它将计算结果为TRUE
的内容转换为FALSE
,反之亦然。它在PHP中没有其他特殊意义
它仅在布尔测试或赋值中才有意义,例如:
$false = FALSE;
if (!$false) {
// This code will be executed
}
$true = !$false;
// $true will now be TRUE
在您示例中使用的上下文中,实例化对象毫无意义:
返回一个对象-在布尔测试中,每个对象的每个实例都将计算为TRUE
,只有一个例外:一个空的simplexmlement
抛出异常。在这种情况下,新实例将被分配到的变量仍将具有其先前的值(该值可能计算为false),但执行将立即离开当前过程,因此测试将永远不会被计算
它周围的代码是什么?这似乎是件奇怪的事情,除非你想在条件语句中告诉我们。i、 e.“如果这个类初始化了,那么不要这样做”我想你可以把它转换成@
:)@是用来抑制错误的,A)与此无关,B)是非常糟糕的做法。没有任何代码,只有一个字符串。我认为这只是没用的打字错误。无论如何,谢谢