php - array_udiff 在带有字符串和对象的数组上
问题描述
我想要两个数组之间的区别。这些数组可以包含字符串或对象。我只想array_udiff
根据字符串(如果它是一个字符串)或对象类型(如果它是一个对象)来检查。
这是我尝试过的:
$field_rules = ['required', new \App\Rules\MyCustomRule];
$rules_ignore_realtime = ['confirmed', new \App\Rules\MyCustomRule];
$diff_rules = array_udiff($field_rules, $rules_ignore_realtime, function ($a, $b) {
if (is_object($a)) return $a instanceof $b;
else return $a == $b;
});
这总是导致一个空数组。我也不确定instanceof
我是否应该在这里使用。
解决方案
我傻了:
$diff_rules = array_udiff($field_rules, $rules_ignore_realtime, function ($a, $b) {
return $a != $b;
});
推荐阅读
- spring-boot - java.lang.NullPointerException:在数据库中存在的列表上为空
- css - 无法理解 DevTools 性能选项卡中的“强制布局”部分
- javascript - 延迟加载:DIV onClick,隐藏元素,添加 iFrame。无法弄清楚循环过程
- r - R函数在布尔向量中查找连续值的结束值
- android - 在 Android 上使用面部解锁和 FIDO 创建凭据/生成断言
- r - 如何在 R 中复制变量
- reactjs - 无法验证来自 Firebase 身份验证的电子邮件和密码数据
- python - 在 Google Apps 脚本中,我无法从所需的工作表中提取数据
- java - 如果还有其他有效的八位位组,我不确定如何列出无效的八位位组
- python - 如何刮取 NBA 首发阵容并创建 Pandas DataFrame?