php - PHP中的数组比较和重新排序
问题描述
假设我有两个数组。
$arr1 = ['A','B','C','D'];
$arr2 = ['C','D'];
现在比较两个数组。如果 $arr2 中的 $arr1 的值不匹配,则索引为空。对于上述数组输出应该是:
$arr3 = ['','','C','D']
我尝试了 array_search() 函数。但无法获得所需的输出。
任何可能的解决方案?
解决方案
您可以使用foreach
within_array
和array_push
like:
$arr1 = ['A','B','C','D'];
$arr2 = ['C','D'];
$arr3 = [];
foreach($arr1 as $value){
$arr3[] = (in_array($value, $arr2)) ? $value : '';
}
print_r($arr3);
/*
Result
Array
(
[0] =>
[1] =>
[2] => C
[3] => D
) */
Foreach
第一个数组然后测试in_array
是否存在,如果true
推入数组 3else
推入空值
推荐阅读
- python - “KeyError: 0” 与 xgboost、scikit-learn 和 pandas
- mysql - 如何查找 id 是否存在于另一列的多个实例中?
- javascript - JavaScript 媒体查询和 CSS 动画的问题
- node.js - req.isAuthenticated 不是重构中间件后的函数
- typescript - 从嵌套对象的 getter 访问包装对象的属性
- typescript - 具有泛型参数的 typeof 类
- ruby-on-rails - 如何在 Rails 的脚手架资源中添加路由
- python - keras GRU 不会采用我简单的二维数组
- firebase - IONIC 3:推送通知点击什么也不做
- python - python sql查询列表中的时间戳