gpt4 book ai didi

PHP 在多个数组中查找并显示重复值

转载 作者:搜寻专家 更新时间:2023-10-31 21:28:52 26 4
gpt4 key购买 nike

所以我试图找到一种方法来搜索多个数组并让它过滤掉所有重复的条目并让它显示在哪些数组中找到了重复的条目。

示例:

$array1 = array('domain.com','domain1.com','domain2.com','domain3.com','domain5.com','domaindd5.com');
$array2 = array('domain.com','domain12.com','domain22.com','domain32.com','domain42.com','domain5.com');
$array3 = array('domain.com','domain31.com','domain332.com','domain33.com','domain5.com','domaindd5.com');

然后读出会显示如下内容:

domain.com => array 1, array 2, array 3
domain5.com => array 1, array 3

提前感谢您的任何建议

最佳答案

这段代码背后的想法很简单:)对于提供的所有数组中的每个条目,该函数首先在$raw中记录容器数组的人工名称。数组,然后删除在该数组中出现次数不超过一次的条目。

<?php
function duplicates() {
$raw = array();
$args = func_get_args();
$i = 1;
foreach($args as $arg) {
if(is_array($arg)) {
foreach($arg as $value) {
$raw[$value][] = "array $i";
}
$i++;
}
}

$out = array();
foreach($raw as $key => $value) {
if(count($value)>1)
$out[$key] = $value;
}
return $out;
}

echo '<pre>';
print_r(
duplicates(
array('domain.com','domain1.com','domain2.com','domain3.com','domain5.com','domaindd5.com'),
array('domain.com','domain12.com','domain22.com','domain32.com','domain42.com','domain5.com'),
array('domain.com','domain31.com','domain332.com','domain33.com','domain5.com','domaindd5.com')
)
);
echo '</pre>';
?>

由于 <a href="http://php.net/manual/en/function.func-get-args.php" rel="noreferrer noopener nofollow">func_get_args()</a>函数,您可以向 duplicates() 提供任意数量的输入数组上面的功能。以下是上述代码的输出:

Array
(
[domain.com] => Array
(
[0] => array 1
[1] => array 2
[2] => array 3
)

[domain5.com] => Array
(
[0] => array 1
[1] => array 2
[2] => array 3
)

[domaindd5.com] => Array
(
[0] => array 1
[1] => array 3
)

)

关于PHP 在多个数组中查找并显示重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32447893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com