检测多个if语句中哪个条件为假

2024-03-08

我尝试缩短我的代码,因此我来缩短以下类型的 if 语句:

// a,b,c,d needed to run
if ( empty(a) ) {
    echo 'a is empty';
} elseif ( empty(b) ) {
    echo 'b is empty';
} elseif ( empty(c) ) {
    echo 'c is empty';
} elseif ( empty(d) ) {
    echo 'd is empty';
} else {
  // run code with a,b,c,d
}

有没有一种方法可以检测哪一个条件为假(为空)?

if ( empty(a) || empty(b) || empty (c) || empty(d) ) {
     echo *statement n*.' is empty';
} else {
  // run code with a,b,c,d
}

我考虑过 for 循环,但这需要大量的代码更改。 也许有人可以指出我正确的方向。

提前致谢 :)

Jens


您可以为每个条件设置一个变量并输出它

if ( (($t = 'a') && empty($a)) || (($t = 'b') && empty($b)) || (($t = 'c') && empty($c)) || (($t = 'd') && empty($d)) ) {
     echo "{$t} is empty";
} else {
  // run code with a,b,c,d
}

分配 ($t='a|b|c|d')将始终为真,如果测试变量为空,您的条件将失败,因为true && false在条件下

但就可读性而言,我宁愿选择任何其他答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测多个if语句中哪个条件为假 的相关文章

  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in
  • 禁用 WooCommerce 手动/编辑订单的电子邮件通知

    需要 WooCommerce 专业知识 我需要禁用手动创建的订单的电子邮件通知 我必须使用处理状态 由于处理订单状态的自定义挂钩 我无法创建自定义状态 理想情况下 手动订单页面中可以勾选一个复选框 勾选后 它将禁止在每种状态下向客户发送电子
  • 所有 PHP 相等比较都是对称的吗?

    Is a b总是等价于 b a 我认为在 JavaScript 中 由于强制转换 有一些奇怪的情况并非如此 I think ide https stackoverflow com questions 4752579 are all php
  • 选择一组数字以达到最小总数的算法

    给定 一组数字n 1 n 2 n 3 n x 还有一个数字M 我想找到最好的组合 n a n b n c n gt M 该组合应达到达到或超过 M 所需的最小值 没有其他组合可以提供更好的结果 将在 PHP 中执行此操作 因此可以使用 PH
  • 如何对 SQL 进行多次查询

    我正在尝试创建一个表 并在 PHP 脚本的帮助下在数据库中插入一些值 虽然只插入 1 行 但效果很好 当我尝试输入更多行数时 出现错误 我需要为每个查询编写完整的插入语句 因为我正在使用在线 Excel 到 SQL 查询转换器
  • 如何关闭未关闭的 HTML 标签?

    每当我们从数据库或类似来源获取一些经过编辑的用户输入内容时 我们可能会检索仅包含开始标记但不包含结束标记的部分 这可能会妨碍网站当前的布局 有客户端或服务器端的方法来解决这个问题吗 找到了一个很好的答案 使用 PHP 5 并使用 DOMDo
  • 在 PHP 中比较两个对象的最快方法是什么?

    假设我有一个对象 在本例中为 User 对象 并且我希望能够使用单独的类来跟踪更改 用户对象不必以任何方式改变它的行为才能发生这种情况 因此 我的单独的类创建它的 干净 副本 将其存储在本地某个位置 然后可以将 User 对象与原始版本进行
  • 如何防止在 PHP 中使用超出“使用”范围的特征方法

    我想知道是否有任何方法可以防止在 PHP 的任何类上下文之外使用特征方法 让我用一个简短的例子来解释我想要什么 这是我当前的代码 File MyFunctions php trait MyFunctions function hello w
  • 如何将我的 init 函数中的代码集中到所有控制器中?

    public function init this gt view gt user Zend Auth getInstance gt getIdentity this gt view gt siteName Zend Registry ge
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • Facebook 应用程序无法获取会话

    我正在 Heroku 上为 Facebook 开发一个非常基本的 PHP 应用程序 它显示非常基本的用户信息 如姓名 个人资料图片 但该应用程序在 getToken 方法中停止 我在登录我的个人资料后尝试了该应用程序 但仍然出现相同的消息
  • 在 Yii 的标准中如何获得计数 (*)

    我正在尝试构建一个具有以下内容的查询group by属性 我正在尝试得到id和count它一直告诉我count is invalid列名 我怎样才能得到count来自group by询问 工作有别名 伊伊 1 1 11 其他不及格 crit
  • PHP 扩展开发入门 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请推荐有关 PHP 低 级 modules 编程接口的帮助文章或教程 搜索我的书签 我发现的唯一链接是
  • 使用 json_encode() 函数在 PHP 数组中生成 JSON 键值对

    我正在尝试以特定语法获取 JSON 输出 这是我的代码 ss array 1 jpg 2 jpg dates array eu gt 59 99 us gt 39 99 array1 array name gt game1 publishe
  • Codeigniter - 出现 404 Not Found 错误

    我们在 godaddy 有两个托管套餐 我们的实时网站使用以下 htaccess 文件运行良好 无需在 url 中使用 index php 即可访问网站 RewriteEngine On RewriteCond REQUEST FILENA
  • 我可以在 PHP 会话变量中安全地存储用户名和密码吗?

    我想在 REST api 之上制作一个轻量级的 web 应用程序 用户只需进行一次身份验证 从那时起 所有针对 web api 的请求都希望通过以某种方式保持用户名和密码有效来完成 我已经做了一个工作原型我在哪里将用户名和密码存储在会话变量
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • 从字符串中获取数字

    我有一个字符串 例如 lorem 110 ipusm 我想获取 110 我已经尝试过这个 preg match all 0 9 string ret 但这正在返回 Array 0 gt 1 1 gt 1 2 gt 0 我想要这样的东西 Ar
  • 如何使用 php 将 *.xlsb 转换为数组或 *.csv

    我正在尝试转换 xlsb文件到php array or csv文件 或至少 xls 我尝试使用PHPExcel 但看起来它无法识别该文件中的内容 我注意到 你可以重命名 xlsb文件到 zip文件 然后使用命令行解压缩unzip zip 之
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function

随机推荐

  • 您如何实施 SCRUM 来单独工作? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在一个大型开源项目的开始阶段独自工作 希望利用 Scrum 的一些核心思想 方法来帮助管理我的时间 并继续专注于开发和部署早期的 可演示
  • 使用适用于 Android 的 LibVLC 创建视频播放器

    我正在尝试使用最后一个 LibVLC 为 Android 应用程序创建一个视频播放器 问题是我不知道这个库是如何工作的 而且我找不到示例来帮助我 正如这里所说https bitbucket org edwardcw libvlc andro
  • Cygwin 中的库“rt”和“dl”

    也许这很愚蠢 但我无法找出必须在 Cygwin 中安装哪个软件包才能修复以下缺失的库 config status creating unix buildinfo config status creating include HsUnixCo
  • 当手机不使用时,AlarmManager 重复警报会随机丢失

    我正在调用背景Service每隔30分钟读取当前位置的经纬度并通过POST API发送到服务器 我在用setRepeating 的方法AlarmManager班级每 30 分钟安排一次闹钟 但有时警报会被错过 服务也不会被调用 为了监控每
  • SQL Server 数据透视表中为空?

    我有这个查询 DECLARE Test TABLE RowID INT IDENTITY 1 1 PRIMARY KEY Name VARCHAR 10 NOT NULL tool VARCHAR 10 NOT NULL stam NVAR
  • ubuntu中libusb.h和usb.h有什么区别?哪一个更好?

    我是 libusb c 编程的新手 我应该知道 libusb h 和 usb h 之间的区别吗 我已经在 Ubuntu xenial 中安装了它们 并带有 libusb 1 0 0 dev 和 libusb dev 包 哪一个更好 它们来自
  • 在 Android 10 / Android Q 上使用捆绑的 ttf 字体时发生崩溃

    当我将 Android 应用程序的目标级别从 28 更新到 29 Android 10 后 应用程序在 Pixel 3 使用 Android 10 上崩溃 使用的版本 Android Gradle 插件 3 5 0 摇篮5 5 1 问题 这
  • 新的 HTML5 Canvas API 支持

    我发现了几篇关于 HTML5 Canvas API 中新功能的帖子 例如路径基元或命中区域 目前的规范 4 8 11 似乎具有以下功能 http www whatwg org specs web apps current work mult
  • 仅加载适用于 ipad 的 css 文件

    我正在尝试加载仅适用于 ipad 的 css 文件 我试过这个 它适用于 iPad 但如果我在桌面上将分辨率降低到 1024 x 768 并在 Firefox 中查看该网站 ipad 样式表也会加载 所以我尝试 但仍然是同样的问题 我如
  • Express JS 路由中使用 formData 获取 POST 为空

    我有一个表单 它使用 fetch 到 AJAX 并在 NodeJS 上有一个路由 当 AJAX POST 命中路由时 req body 显示一个空对象 这是代码 在 app js 中 app use bodyParser json app
  • Web 服务一次只允许我获取 1000 行,但总数超过 30000

    我正在使用 Netsuite 提供的一些 Web 服务https system netsuite com help helpcenter en US Output Help SuiteFlex WebServices STP searchM
  • AWS Lambda:任务超时

    我的学校项目要求我们编写在 AWS Lambda 中运行的 Java 代码 它应该获取特定 URL 的源代码 然后将其上传到 S3 存储桶 Java 代码应在 AWS Lambda 上运行 我获取了 Java 中 String 变量的源代码
  • ElementTree的iterparse() XML解析错误

    我需要解析一个编码为 ISO 8859 1 的 1 2GB XML 文件 在阅读了 NET 上的几篇文章后 似乎 Python 的 ElementTree 的 iterparse 比 SAX 解析更受青睐 我写了一段非常短的代码只是为了测试
  • Selenium chrome 浏览器中的 Feign 焦点

    我正在使用 Selenium 从网站上抓取数据 该网站需要窗口焦点才能显示我需要的某些元素 我希望能够在后台运行我的程序 而不必在运行时聚焦窗口 有没有什么办法可以让网站认为它的重点是 我正在使用硒铬驱动程序 Edit 这是我构建的一个快速
  • Android是否阉割了ARM的Jazelle技术?

    我认为 Android 中的 Java 字节码 混蛋 的理由是性能 我怀疑还有另一个原因 但是 通过更改字节码 他们难道没有让 Jazelle 等硬件加速技术变得毫无意义 从而实际上降低了 Mobile Java 平台的可用性能吗 目标平台
  • 通过蓝牙传输文件,如 Android 蓝牙聊天示例

    如何使用 Android 蓝牙聊天示例并将其更改为文件传输 我想通过蓝牙将本地 SQLite 数据库传输到另一台 Android 设备 我更改了示例代码 http developer android com resources sample
  • 在多个文件之间共享枚举的正确方法是什么?

    我想在当前 C 项目的客户端和服务器部分使用相同的枚举 但不确定执行此操作的正确方法 我可以轻松地将枚举写入它自己的文件中 并将其包含在两个文件中 但这感觉像是不好的做法 将其放入命名空间然后将其包含在两者中是正确的方法吗 我知道这有点主观
  • 如何在 Django 模板上下文中获取“调试”变量?

    根据这个SO帖子 如何检查 django 模板中的 TEMPLATE DEBUG 标志 https stackoverflow com questions 1271631 how to check the template debug fl
  • 将 aSmack 0.8.3 用于 XMPP 聊天应用程序时出现 NoSuchAlgorithmException

    我已经包含了 logcat 输出 请帮我解决这个问题 08 09 11 06 32 762 警告 NetworkManagementSocketTagger 883 setKernelCountSet 10012 0 失败 错误号 2 08
  • 检测多个if语句中哪个条件为假

    我尝试缩短我的代码 因此我来缩短以下类型的 if 语句 a b c d needed to run if empty a echo a is empty elseif empty b echo b is empty elseif empty