2017-05-11 3 views
0

Unten ist das Array: Ich brauche die Anzahl der doppelten Werte im Array für z. Business = 4Anzahl der doppelten Werte im Array

Array ( 
    [0] => Array ([KRA_category] => Business)  
    [1] => Array ([KRA_category] => Business) 
    [2] => Array ([KRA_category] => People) 
    [3] => Array ([KRA_category] => Business) 
    [4] => Array ([KRA_category] => Business) 
    [5] => Array ([KRA_category] => Business) 
) 
+1

array_count_values ​​() - http://php.net/manual/en/function.array-count-values.php – splash58

+2

Mögliches Duplikat von [PHP - spezifische Array-Werte zählen] (http://stackoverflow.com/questions/ 11646054/php-count-spezifische-array-Werte) –

+1

@KrisRoofe 'array_count_values' kann nicht für mehrdimensionale Arrays verwendet werden. – Barmar

Antwort

1

können Sie kombinieren array_column und array_count_values

$counts = array_count_values(array_column($array, 'KRA_category')); 
0

Sie die doppelten Werte in PHP mit

$vals = array_count_values(array_column($array, 'KRA_category')); 

in 5.5 und höher unterstützt zählen kann.

0

Eingang:

$array=[['KRA_category'=>'Business'],['KRA_category'=>'Business'],['KRA_category'=>'People'],['KRA_category'=>'Business'],['KRA_category'=>'Business'],['KRA_category'=>'Business']]; 

Code:

$counts=array_count_values(array_column($array,'KRA_category')); 
array_walk($counts,function($v,$k)use(&$dupes){if($v>1){$dupes[$k]=$v-1;}}); 
var_export($dupes); 

Ausgang:

array (
    'Business' => 4, 
) 

Holen Sie sich die Zählungen für jeden Wert in der Spalte, dann subtrahieren -1 von jeder Zählung (“ das Original ", nach der Bedeutung des OP) und nur Zählungen, die mehr als 0 sind.

Verwandte Themen