获取重复值PHP的所有键

时间:2017-04-24 17:47:27

标签: php arrays key distinct-values

嗨我有一个像下面这样的php数组

Array
(
    [825] => ca_knife_features 
    [838] => ca_knife_features 
    [795] => ca_knife_handle_materials 
    [853] => ca_knife_handle_materials 
)

我希望将所有键组合成相同的值,并将值设为键,如下所示

Array
(
[ca_knife_features]=>array(825,838)
[ca_knife_handle_materials]=>array(795,853)
)

请建议我该怎么做。

由于

2 个答案:

答案 0 :(得分:0)

获取所有值的所有键非常简单。

foreach ($array as $key => $value) {
    $result[$value][] = $key;
}

但是这不会只获得重复的值。有不同的方法可以做到这一点。一种方法是将结果过滤为仅显示具有多个键的值。

$result = array_filter($result, function($item) {
    return count($item) > 1;
});

答案 1 :(得分:-1)

我是通过下面的代码

完成的
foreach($multiattrData as $key=>$value)
    if(array_key_exists($value, $out)){
    $out[$value][] = $key;}
    else{
         $out[$value] = array($key);  
    }

感谢