在PHP中检查每个数组中的重复值

时间:2015-05-27 10:13:58

标签: php arrays

我有一个问题。假设我有三个或更多阵列:

[weekly] => Array (
                [1] => Array
                    (
                        [0] => 11:00
                        [1] => 11:00
                    )

                [2] => Array
                    (
                        [0] => 13:00
                        [1] => 16:00
                    )

                [5] => Array
                    (
                        [0] => 08:00
                        [1] => 12:00
                        [2] => 15:00
                    )
                ... 
              )

我试图在foreach()循环中使用array_unique()但是我无法捕获第一个数组有重复值。实际上,我想检查每周数组中的一个数组是否有重复值,并返回一条错误消息,即每周数组中的一个数组具有重复值。

第一个数组具有重复值的[每周]每个子数组的正确检查是什么?我是用PHP做的。

您的回答将受到高度赞赏。感谢

2 个答案:

答案 0 :(得分:0)

使用array_unique()的正确方法不在foreach循环中。

<?php
 $input = array(4, "4", "3", 4, 3, "3");
 $result = array_unique($input);
 var_dump($result);
?>

从php文档中获取的代码http://php.net/manual/en/function.array-unique.php

答案 1 :(得分:0)

要查看两个数组之间是否存在差异,可以在应用array_unique()后使用count()。 因此,对一个重复的对象进行循环,将其唯一。然后检查计数是否与同一循环中的原始计数相同。 这可以通过更优化的方式完成,但这是一个开始。