php - 基本 boolean 逻辑——如何仅在另一个条件为真时测试条件

标签 php conditional-statements logic boolean

我知道这是基本的 boolean 逻辑,但我卡住了:

我正在遍历数据库结果,对于每个结果我都需要检查以下条件:

if($old_value != $new_value)

如果以上为真,则操作为:

$old_value = $new_value;

但是还有一个次要条件。如果该行的类型为“日期”,我还需要检查 $new_value 是否为空,但操作仍然相同。现在,我是这样做的:

if($old_value != $new_value) {
     if($type != date) {
         $old_value = $new_value;
     } elseif(!empty($new_value)) {
         $old_value = $new_value;
     }

我把上面的内容简单化了,但实际上,一行操作实际上是几行,我知道我不需要根据次要条件重复。

但我对将内在条件与外在条件相结合的正确方法一头雾水。如果我做类似的事情:

if(($old_value != $new_value) && ($type == 'date' && !empty($new_value))

那么它唯一会返回 true 的时间是当行是日期类型时。

最佳答案

尝试:

  if(($old_value != $new_value) && ($type != 'date' || !empty($new_value))

应该可以了。如果您需要帮助了解原因,请告诉我。

关于php - 基本 boolean 逻辑——如何仅在另一个条件为真时测试条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6822161/

相关文章:

php - Laravel 在 mysql 中存储计划任务

php - MYSQL 中的 ORDER BY 条件使用函数返回

javascript - "FizzBuzz"样式代码的错误答案

r - 根据条件从数据帧创建具有二进制值的 df

c# - 为什么 C# 编译器不抛出 null 的逻辑比较?

更新表单中的 Php 表单更新

PHP PDO : Showing topics out database

java - 保存条件逻辑的枚举 - 可能吗?

SQL计数一列中的重复项,但重复项的条件不仅仅是一个固定值

python - 静态类型检查条件