Php 检查对象中是否设置了变量
我反对:Php 检查对象中是否设置了变量,php,variables,object,isset,Php,Variables,Object,Isset,我反对: class Obj { public $foo; public $bar; } $obj = new Obj(); print_R($obj); 输出: Obj Object ( [foo] => [bar] => ) 但是 输出bool(假) 如何检查对象中是否设置了变量?因为 $foo = null; var_dump(isset($foo)); // false 也许你想用或检查一下,因为 $foo = null; var
class Obj
{
public $foo;
public $bar;
}
$obj = new Obj();
print_R($obj);
输出:
Obj Object
(
[foo] =>
[bar] =>
)
但是
输出bool(假)
如何检查对象中是否设置了变量?因为
$foo = null;
var_dump(isset($foo)); // false
也许你想用或检查一下,因为
$foo = null;
var_dump(isset($foo)); // false
也许您需要使用或检查它您应该同时使用
isset
和属性\u exists
:
if (property_exists($obj,$foo) && isset($obj->$foo)) {
// use $obj->foo
}
属性可能存在,但未设置任何内容,因此无法按预期访问。您应该同时使用
isset
和property\u exists
:
if (property_exists($obj,$foo) && isset($obj->$foo)) {
// use $obj->foo
}
属性可能存在时未设置任何内容,这将无法按预期访问。您的意思是?您没有使用
isset()
完全完成您想要的操作吗?事实上,变量没有设置。。。。有什么问题吗?阅读有关isset的文档,已经全部解释过了there@Passerby是的,我在找。谢谢。你的意思是说?你不是用isset()
做了你想做的事吗?实际上变量没有设置。。。。有什么问题吗?阅读有关isset的文档,已经全部解释过了there@Passerby是的,我在找。谢谢。谢谢,我不知道null
。谢谢,我不知道null
。