以下是否可以在PHP中使用:
if ($test = $object->property) {
// Do stuff with $test
}
基本上,即使未设置$ object->属性,PHP仍会发出通知。我想看看是否可以检查是否设置了值并将属性分配给条件中的变量。否则,我必须做这样的事情:
if (isset($object->property) {
$test = $object->property;
// Do stuff with $test
}
答案 0 :(得分:3)
if (isset($object->property) ? $test = $object->property : false) {
// Do stuff with $test
}
答案 1 :(得分:0)
一般来说,第二种方式更好。另外,如果$object->property
是假值,你会遇到问题。
答案 2 :(得分:0)
(
)
内的所有元素都是从左到右进行测试的。如果一个是假的,那么下面的那个没有经过测试,所以你不会有任何错误。
if ($object && is_object($object) && isset($object->property))
{
$test = $object->property;
// Do stuff with $test
}
编辑:重新检查您的问题:您希望在括号内分配$object->property
!我问你why so anxious?
这种结构很好(我经常使用它),但是当事情变得简单而不是相反的情况时这样做!