php - 如何在 php 中的 IF 中使用 OR 运算符?
问题描述
我一直在尝试在 PHP 中执行此代码:
if(!afunction() || !anotherfunction()) {code}
这些函数是预定义的并返回真或假,但只有第一个条件有效,第二个条件无效。
解决方案
这是由于大多数语言都进行了常见的优化。
- 在表达式
A || B
if的A
计算结果中,true
根本没有理由进行计算B
,因为无论B
返回什么结果,表达式都只能是true
. - 在表达式
A && B
if的A
计算结果中,false
根本没有理由进行计算B
,因为无论B
返回什么结果,表达式都只能是false
.
如果您希望这两个函数始终运行,那么您需要在逻辑表达式的上下文之外执行此操作,例如:
$a_result = a();
$b_result = b();
if( ! $a_result || ! $b_result ) {
// code
}
推荐阅读
- python - 如何中断调用 shell 脚本的 Python 程序?
- python - 从 cmd 加载 jupyter-lab 时收到错误是否有任何解决方案
- angular - 从多选组合框中获取所选项目
- node.js - 如何创建 Windows 10 批处理文件以启动本地 Node 应用程序?
- python - 用 pandas dataFrame 中的值填充 python 字典
- java - Kafka Spring Batch Consumer - 提交单个偏移量
- html - Blazor WASM 模板 MainLayout.razor 的布局s 作为内联元素?
- javascript - Javascript在鼠标悬停时启动和重复功能并在鼠标离开时停止重复
- heroku - Heroku dyno 自动重启会终止我的应用程序上正在运行的处理吗?
- azure - 如何在本地开发中调用 NoAutomaticTrigger 函数?