php - 在参数上检查不相等
问题描述
因此,我使用以下调用触发了以下方法:
$im->o()->em('id', '1234');
这是我的方法:
public function em(string $k, string $v) {
var_dump($k);
// Check if id or email is provided as key
if ($k != 'id' || $k != 'email') {
echo '<pre>Please provide either an id or email key.</pre>';
return;
}
}
为什么当我这样做时if ($k != 'id') {
,它会起作用并触发错误,但是当我添加||
or 来检查 $key 是一个id
还是email
字符串时,它不起作用?
解决方案
条件不正确。它应该&&
代替||
.
更好的方法是-
$valid_keys = array('id', 'email');
if(in_array($key, $valid_keys) === false) {
...
推荐阅读
- vscode-settings - 使用自定义键盘快捷键导航 vscode 智能感知
- python - PyQt5 功能问题
- html - 页面调整大小时有很多空白
- javascript - 如何从 Google 日历上的一个事件创建连锁事件?
- sql - 为什么这个 pg 查询这么慢?我怎样才能让它更快?
- vuejs2 - 在 nuxt 布局中使用多个 v-app 时是否有任何问题
- asp.net-core - 从角度 7 传递到我的 Asp.net 核心 WebApi 控制器的参数全部为空
- postgresql - 表 oid 错误。在 postgresql 中选择查询,在 postgres 查询工具消息中返回 table_oid 并显示异常列不存在
- c# - XUnit CollectionFixture 多次实例化
- javascript - “检查后表达式已更改”的控制台错误