PHP:查找数组值的差异

12 浏览
0 Comments

PHP:查找数组值的差异

我有两个非常大的数组,其中包含电子邮件地址。

$oldmail$newmail

两个数组的格式如下:

[0] => some@email.com
[1] => some1@email.com
[2] => some2@email.com
...

我想找到$newmail中所有在$oldmail中不存在的电子邮件值。

我认为以下代码可以实现:

foreach ($oldmail as $key => $value) 
{
    foreach ($newmail as $key2 => $value2) 
    {
        if ($value == $value2) 
        {
            //什么都不做
        }
        else
        {
            echo $value2;
        }
    }
}

但是对于大列表来说,这样做的资源消耗太大。

有没有其他更高效的方法可以实现这个功能?

0
0 Comments

在PHP中,有一个问题需要找到两个数组之间值的差异。一个解决方法是使用array_diff()函数。这个函数不仅仅通过索引进行匹配,它会比较所有的值。下面是一个使用array_diff()函数的示例代码:

$result = array_diff($newmail, $oldmail);
print_r($result);

这段代码会将$newmail数组中与$oldmail数组不同的值输出。

0
0 Comments

PHP: 寻找数组值的差异

问题原因:在PHP中,当我们需要找到两个数组之间值的差异时,使用`array_diff()`函数是一种常见的方法。在上述代码示例中,我们有两个数组`$a1`和`$a2`,我们想要找到`$a1`中与`$a2`不同的值。

解决方法:为了解决这个问题,我们使用了`array_diff()`函数,该函数接受两个数组作为参数,并返回一个新数组,其中包含在第一个数组中但不在第二个数组中的值。在本例中,`$result`数组将包含`$a1`中不与`$a2`相同的值。

下面是代码示例:


以上代码将输出:

Array
(
    [3] => yellow
)

这是因为`$a1`数组中的`"yellow"`值不在`$a2`数组中。

使用`array_diff()`函数可以方便地找到两个数组之间值的差异,这在处理数组操作时非常有用。

0
0 Comments

PHP中的array_diff函数用于找到两个数组之间的差异。该函数返回在第一个数组中存在但在第二个数组中不存在的值。

在上述示例中,我们有两个数组$a1和$a2。我们使用array_diff函数比较这两个数组,并将结果存储在$result中。然后,我们使用print_r函数打印出$result的内容。

输出结果为Array([1] => some2.com),表示在$a2数组中存在的值,但在$a1数组中不存在。

关于为什么有人会复制其他答案的问题,有人指出这段代码只是从官方PHP手册中array_diff的条目中复制过来的。可能是两个人都从官方手册中复制了这段代码。

要解决这个问题,可以尝试以下方法:

1. 检查官方PHP手册中array_diff函数的用法和示例,确保代码是正确的。

2. 确保数组的值是正确的,如果数组中的值不匹配,可能会导致结果不符合预期。

3. 确保代码中没有其他错误或语法问题,可以尝试使用其他调试工具或方法来检查代码中是否存在问题。

希望以上信息对您有帮助!

0