Php 检查数组中特定值的多少倍
我有一个名为$uid的数组。如何检查$uid数组中的值“12”的次数Php 检查数组中特定值的多少倍,php,arrays,count,Php,Arrays,Count,我有一个名为$uid的数组。如何检查$uid数组中的值“12”的次数 $repeated = array(); foreach($uid as $id){ if (!isset($repeated[$id])) $repeated[$id] = -1; $repeated[$id]++; } 例如,这将导致 array( 12 => 2 14 => 1 ) 使用。比如说, $freqs = array_count_values($uid); $freq
$repeated = array();
foreach($uid as $id){
if (!isset($repeated[$id])) $repeated[$id] = -1;
$repeated[$id]++;
}
例如,这将导致
array(
12 => 2
14 => 1
)
使用。比如说,
$freqs = array_count_values($uid);
$freq_12 = $freqs['12'];
有几种方法
$cnt = count(array_filter($uid,function($a) {return $a==12;}));
或
或任何其他方法。使用该函数
有不同的解决方案:
$count = count(array_filter($uid, function($x) { return $x==12;}));
或
或者只是一个for循环
for($i=0, $last=count($uid), $count=0; $i<$last;$i++)
if ($uid[$i]==12) $count++;
非常简单:
$uid= array(12,23,12,4,2,5,56);
$indexes = array_keys($uid, 12); //array(0, 1)
echo count($indexes);
数组\u计数\u值在这里不起作用。我不喜欢。。array\u count\u value($string)//或12作为$string当前版本的PHP不允许您在函数调用后使用
[]
表示法。@Hammerite这很愚蠢,更正了array\u count\u values()
如果计数为零,则不可靠,因为只有找到的值才成为键。array\u count\u values()如果计数为零,则不可靠,因为只有找到的值成为键。array\u count\u values()
如果计数为零,则不可靠,因为只有找到的值成为键。
array_reduce($uid, function($c, $v) { return $v + ($c == 12?1:0);},0)
for($i=0, $last=count($uid), $count=0; $i<$last;$i++)
if ($uid[$i]==12) $count++;
$count=0;
foreach($uid as $current)
if ($current==12) $count++;
$uid= array(12,23,12,4,2,5,56);
$indexes = array_keys($uid, 12); //array(0, 1)
echo count($indexes);