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”])