gpt4 book ai didi

php - 将对象评估为 bool 值

转载 作者:IT王子 更新时间:2023-10-29 00:00:50 25 4
gpt4 key购买 nike

考虑以下几点:

class MyClass
{
private $var1 = "apple";
private $var2 = "orange";
}

$obj = new MyClass();

if($obj) {
// do this
}
else {
// do that
}

PHP 评估我的对象为真,因为它有成员变量。这个逻辑能以某种方式被覆盖吗?换句话说,当我的类对象被视为 bool 值时,我能否控制其计算结果?

最佳答案

PHP evaluates my object to true because it has member variables.

这是不正确的。 PHP 实际上将 $obj 评估为 true 因为它包含一个对象。它与对象的内容无关。您可以通过从类定义中删除成员来验证这一点,选择 if/else 的哪个分支不会有任何区别。

如果 PHP 持有对对象的引用,则无法使 PHP 将变量计算为 false。您必须为变量分配一些“虚假的”内容,其中包括以下值:

null
array()
""
false
0

参见 Converting to boolean从 PHP 文档中获取在转换为 bool 值时被视为 false 的所有值的列表。

关于php - 将对象评估为 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5572849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com