AND 语句的 PHP 简写语法

发布于 2024-12-26 07:25:53 字数 271 浏览 3 评论 0原文

我正在尝试实现逻辑连接 AND,并且想知道是否允许使用这种速记符号:

$hasPermissions &= user_hasAppPermission($user_id, $permission);

或者我必须这样做:

$hasPermissions = $hasPermissions && user_hasAppPermission($user_id, $permission);

I am trying to implement the logical connective AND, and was wondering if this shorthand notation is allowed:

$hasPermissions &= user_hasAppPermission($user_id, $permission);

Or do i have to do this:

$hasPermissions = $hasPermissions && user_hasAppPermission($user_id, $permission);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

一抹苦笑 2025-01-02 07:25:53

简写 &= 是一个按位赋值操作 ,这不等于你的第二个陈述。这与执行相同(请注意单个&符号):

$hasPermissions = $hasPermissions & user_hasAppPermission($user_id, $permission);

从我所看到的来看,您的“长”声明看起来很好。

The shorthand &= is a bitwise assignment operation, which is not equivalent to your second statement. That would be the same as doing (note the single ampersand):

$hasPermissions = $hasPermissions & user_hasAppPermission($user_id, $permission);

From what I can see, your "long" statement seems fine as is.

不及他 2025-01-02 07:25:53

在 PHP 中,可以使用以下逻辑操作

AND

$val1 && $val2
$val1 and $val2

$val1 || $val2
$val1 or $val2

! $val

异或

$val1 xor $val2

另外,还有一个看看在此页面。两个运算符 &&||andor 具有不同的优先级。

因此,您的第二个选项是正确的选择:

$hasPermissions = $hasPermissions && user_hasAppPermission($user_id, $permission);

顺便说一句:我建议始终使用===来比较是否相等。 === 确保其操作数的类型和值相同,而 == 则对值进行强制转换。

In PHP, these logical operations are available:

AND

$val1 && $val2
$val1 and $val2

OR

$val1 || $val2
$val1 or $val2

NOT

! $val

XOR

$val1 xor $val2

Additionally, have a look at this page. The two operators && and || have a different precedence as and and or.

Thus, your second option is the way to go:

$hasPermissions = $hasPermissions && user_hasAppPermission($user_id, $permission);

BTW: I'd propose to always use === to compare for equality. === ensures that the types of its operands are identical and the values are, while == casts values.

﹏雨一样淡蓝的深情 2025-01-02 07:25:53

我会做类似的事情:

$hasPermissions = (($hasPermissions) && (true === user_hasAppPermission($user_id, $permission))) ? true : false;

I would do something like:

$hasPermissions = (($hasPermissions) && (true === user_hasAppPermission($user_id, $permission))) ? true : false;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文