PHP:使用'和'这个词的语法是什么意思?

Men*_*tat 3 php syntax

我正在写Wordpress中的助行器.我看到了一些示例代码,它在其中一行上有以下语法:

!empty($item->attr_title)
and $attributes .= ' title="'.esc_attr($item->attr_title).'"';
Run Code Online (Sandbox Code Playgroud)

这是做什么的?我假设如果对象属性不为空,它会附加标题字符串,但我不确定"和"字的作用.

Yan*_*ang 5

这是一个简写:

if (!empty($item->attr_title)) {
   $attributes .= ' title="'.esc_attr($item->attr_title).'"';
}
Run Code Online (Sandbox Code Playgroud)


kni*_*ttl 5

PHP对布尔表达式进行短路评估,也就是说,只有在结果确定之前才会计算很多项.

true and something()
Run Code Online (Sandbox Code Playgroud)

将评估something()(完整的表达式仍然可以评估为假),而

false and something()
Run Code Online (Sandbox Code Playgroud)

false学期结束后将停止评估.