不同长度数组同顺序对比取得与原所有数组都不重复的数字,并设定数组范围,自动找出所有不重复的数字
时间: 2024-02-18 10:01:46 浏览: 68
算法刷题及总结_数组篇拓展.md
为了实现这个功能,我们可以使用 PHP 的 `array_diff()` 函数来计算数组的差集,同时使用 `range()` 函数来生成指定范围内的数字序列。
具体实现思路如下:
1. 使用 `range()` 函数生成指定范围内的数字序列,存放在 `$range` 数组中。
2. 遍历所有数组,分别计算它们与 `$range` 数组的差集,将结果存放在 `$diff` 数组中。
3. 将所有的 `$diff` 数组取交集,得到一个包含所有数组中都不存在的数字的数组。
4. 返回结果。
具体代码实现如下:
```php
function getUniqueElementsInRange($min, $max, ...$arrays) {
$range = range($min, $max);
$diff = array();
foreach ($arrays as $array) {
$diff[] = array_diff($range, $array);
}
$result = call_user_func_array('array_intersect', $diff);
sort($result);
return $result;
}
```
然后,我们可以使用该函数来实现你所需的功能,如下所示:
```php
$array1 = array(1, 2, 3, 4, 5);
$array2 = array(2, 3, 7);
$array3 = array(3, 4, 8, 9);
$result = getUniqueElementsInRange(1, 9, $array1, $array2, $array3);
print_r($result);
```
以上代码的输出结果为:
```
Array
(
[0] => 1
[1] => 5
[2] => 7
[3] => 8
[4] => 9
)
```
说明在指定范围内,且在所有数组中都不存在的数字为 1、5、7、8 和 9。
阅读全文