php如何不使用函数求数组的交集

2023-06-07 14:56:45 数组 交集 何不

php不使用函数求数组的交集的方法:1、创建一个PHP示例文件;2、定义一个空数组$result用来保存交集;3、循环遍历第一个数组$arr1中的每个元素$item1;4、在$arr1循环中再次循环遍历第二个数组$arr2中的每个元素$item2;5、判断两个元素是否相等,如果相等则将它加入到结果数组$result中;6、循环结束后,返回结果数组$result即可。

本教程操作系统:Windows10系统、php8.1.3版本、Dell G3电脑。

php可以使用双重循环遍历数组,然后逐个比较数组元素是否相等来实现两个数组的交集。

具体方法如下所示:

  1. 定义一个空数组$result用来保存交集

  2. 循环遍历第一个数组$arr1中的每个元素$item1

  3. 在$arr1循环中再次循环遍历第二个数组$arr2中的每个元素$item2

  4. 判断两个元素是否相等,如果相等则将它加入到结果数组$result中

  5. 循环结束后,返回结果数组$result

代码示例:

$arr1 = array(1, 2, 4, 6, 8);
$arr2 = array(3, 6, 8, 9, 10);
$result = array();
foreach ($arr1 as $item1) {
    foreach ($arr2 as $item2) {
        if ($item1 == $item2) {
            $result[] = $item1;
        }
    }
}
print_r($result);

输出:

Array
(
    [0] => 6
    [1] => 8
)

注意:此方法虽然能够实现求解交集,但是由于时间复杂度为O(n^2),在处理大规模数组时会非常慢,不建议使用。更好的解决方案是使用 PHP 内置函数 array_intersect()。

相关文章