为了账号安全,请及时绑定邮箱和手机立即绑定

难以理解 PHP 语法

难以理解 PHP 语法

PHP
慕少森 2023-12-15 17:17:22
假设我们在一个类中有这个方法:public static function example($s, $f = false){     (static::$i['s'] === null or $f) and static::$i['s'] = $s;         return new static; }您能给我任何提示吗?这行代码的含义是什么?(static::$i['s'] === null or $f) and static::$i['s'] = $s;它是一个条件语句吗?或者类似三元运算符的东西? 谢谢
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

他们试图通过使用处理此类逻辑运算符时发生的短路来变得聪明。这就是他们正在做的事情:


if ((static::$info['syntax'] === null) || $force) {

    static::$info['syntax'] = $syntax;

}

如果您想了解此短路如何与 &&/and 运算符配合使用:


$a = 'something';

false && $a = 'else';

echo $a;

// output: something

由于第一部分是 false,因此它甚至不会在另一端运行该语句,因为此逻辑运算的计算结果已为 false。


查看完整回答
反对 回复 2023-12-15
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信