需要Php操作符帮助



我是c++背景和php新手,谁来帮我一下两者的区别:

$totalupdatedrows = (count($rows) == 1 and !isset($rows[0]->updated_by))  ? 0 : count($rows);

$totalupdatedrows = count($rows) == 1 and !isset($rows[0]->updated_by)  ? 0 : count($rows);

假设count($rows) = 1 and $rows[0]->updated_by=null。请注意,第一个只有一个额外的包装括号。

我从第一个语句得到正确的结果。我希望得到的结果是0这是第一个的结果,而不是第二个的结果。

and的优先级低于三元操作符(?:)。因此,您需要将其括在括号中(()),以便首先对其求值。

请注意,如果您使用了&&,则不需要使用额外的括号。

检查PHP文档-操作符优先级and几乎是最后一个。

如果你把and改成&&,它的顺序会比?:

相关内容

  • 没有找到相关文章

最新更新