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