首页 > 解决方案 > PHP中的数组比较和重新排序

问题描述

假设我有两个数组。

$arr1 = ['A','B','C','D'];

$arr2 = ['C','D'];

现在比较两个数组。如果 $arr2 中的 $arr1 的值不匹配,则索引为空。对于上述数组输出应该是:

$arr3 = ['','','C','D']

我尝试了 array_search() 函数。但无法获得所需的输出。

任何可能的解决方案?

标签: phparrays

解决方案


您可以使用foreachwithin_arrayarray_pushlike:

$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推入空值


推荐阅读