Php 如何在数组中搜索重复值

Php 如何在数组中搜索重复值,php,arrays,Php,Arrays,我有多维数组: array (size=4) 0 => array (size=3) 'a' => string '' (length=0) 'b' => string '222.000' (length=8) 'id' => string '7' (length=1) 1 => array (size=3) 'a' =

我有多维数组:

array (size=4)
    0 => 
        array (size=3)
            'a' => string '' (length=0)
            'b' => string '222.000' (length=8)
            'id' => string '7' (length=1)
    1 => 
        array (size=3)
            'a' => string '61100' (length=0)
            'b' => string '1000.000' (length=8)
            'id' => string '6' (length=1)
    2 => 
        array (size=3)
            'a' => string '61100' (length=5)
            'b' => string '-1000.000' (length=7)
            'id' => string '4' (length=1)
我想获取包含相同“a”值的数组的“id”值,在这种情况下,我想获取数组1和2的“id”值,因为两者都具有相同的“a”值,所以我想获取它们的id(4和6)


感谢您的回复

您可以使用简单的
for
循环:

$arr = array(["id" => 7, "a" => ""], ["id" => 6, "a" => "AAA"], ["id" => 4, "a" => "AAA"]);

$ans = [];    
foreach($arr as $elem)
        $ans[$elem["a"]][] = $elem["id"];
这将输出带有“a”值作为键的关联数组-如果您只想对它们进行分组,可以使用
数组\u值

输出:

Array
(
    [] => Array
        (
            [0] => 7
        )
    [AAA] => Array
        (
            [0] => 6
            [1] => 4
        )
)

似乎是一个挑战,您可以尝试创建自己的小算法来匹配集合中的键和值。您尝试了什么?
foreach($key=>myArray$value){…}
似乎是一个很好的开始
if/else
部分可以删除。当执行
$var[]=“something”时,PHP将自动创建一个新数组测试和工作:
foreach($arr as$elem){$ans[$elem[“a”]][=$elem[“id”];}
。最后,检查
是否设置($elem[“a”])