Check how many times specific value in array PHP

2019-01-12 08:27发布

问题:

I have an array named $uid. How can I check to see how many times the value "12" is in my $uid array?

回答1:

Several ways.

$cnt = count(array_filter($uid,function($a) {return $a==12;}));

or

$tmp = array_count_values($uid);
$cnt = $tmp[12];

or any number of other methods.



回答2:

Use array_count_values(). For example,

$freqs = array_count_values($uid);
$freq_12 = $freqs['12'];


回答3:

Very simple:

$uid= array(12,23,12,4,2,5,56);
$indexes = array_keys($uid, 12); //array(0, 1)
echo count($indexes);


回答4:

Use the function array_count_values.

$uid_counts = array_count_values($uid);
$number_of_12s = $uid_counts[12];


回答5:

there are different solution to this:

$count = count(array_filter($uid, function($x) { return $x==12;}));

or

array_reduce($uid, function($c, $v) { return $v + ($c == 12?1:0);},0)

or just a for loop

for($i=0, $last=count($uid), $count=0; $i<$last;$i++)
    if ($uid[$i]==12) $count++;

or a foreach

$count=0;
foreach($uid as $current)
    if ($current==12) $count++;


回答6:

$repeated = array();
foreach($uid as $id){
    if (!isset($repeated[$id])) $repeated[$id] = -1;
    $repeated[$id]++;
}

which will result for example in

array(
   12 => 2
   14 => 1
)


标签: php arrays count