如何将第一个数组中第二个数组缺失的元素补充到第二个数组中?
需求实现方案
你提供的数组输出格式为PHP的print_r打印结果,以下优先提供PHP实现,同时附其他常用语言的实现方案:
核心逻辑
- 计算第一个数组和第二个数组的差集(即只在第一个数组中存在的元素)
- 将差集元素全部追加到第二个数组中即可
PHP实现
第一步:定义两个测试数组
$firstArr = [ '21-02', '21-01', '21-03', '21-04', '21-05', '21-06', '21-07', '21-08', '21-09' ]; $secondArr = [ '21-01', '21-02' ];
第二步:计算差集并合并
调用PHP内置数组函数即可一行完成,无需手动循环判断:
// 取firstArr有、secondArr没有的元素 $missingItems = array_diff($firstArr, $secondArr); // 合并到secondArr中 $secondArr = array_merge($secondArr, $missingItems);
最终$secondArr结果
Array ( [0] => 21-01 [1] => 21-02 [2] => 21-03 [3] => 21-04 [4] => 21-05 [5] => 21-06 [6] => 21-07 [7] => 21-08 [8] => 21-09 )
其他语言实现参考
JavaScript
const firstArr = ['21-02','21-01','21-03','21-04','21-05','21-06','21-07','21-08','21-09'] const secondArr = ['21-01','21-02'] // 筛选缺失元素 const missingItems = firstArr.filter(item => !secondArr.includes(item)) // 追加到第二个数组 secondArr.push(...missingItems)
Python
first_arr = ['21-02','21-01','21-03','21-04','21-05','21-06','21-07','21-08','21-09'] second_arr = ['21-01','21-02'] # 计算差集并追加 missing_items = [item for item in first_arr if item not in second_arr] second_arr.extend(missing_items)
内容的提问来源于stack exchange,提问作者Rob
相关产品推荐
相关产品推荐

