我有一个这样的数组:
阵列(A,B,C,A,B)
现在,如果我想查看数组中可以找到多少个“b”实例,我将如何处理?
答案 0 :(得分:5)
请参阅array_count_values()的文档。这似乎是你在寻找的。 p>
$array = array('a', 'b', 'c', 'a', 'b');
$counts = array_count_values($array);
printf("Number of 'b's: %d\n", $counts['b']);
var_dump($counts);
输出:
'b'的数量:2
数组(3){
[ “一个”] => INT(2)
[ “b” 的] => INT(2)
[ “c” 的] => INT(1) }
答案 1 :(得分:2)
使用array_count_values($arr)
。这将返回一个关联数组,其中$arr
中的每个值都作为键,而$arr
中的值作为值。例如:
$arr = array(1, 2, 3, 4, 2);
$counts = array_count_values($arr);
$count_of_2 = $counts[2];
答案 2 :(得分:1)
您可以使用此功能计算实例数。
$b = array(a,b,c,a,b);
function count_repeat($subj, $array) {
for($i=0;$i<count($array);$i++) {
if($array[$i] == $subj) {
$same[] = $array[$i]; //what this line does is put the same characters in the $same[] array.
}
return count($same);
}
echo count_repeat('b', $b); // will return the value 2
答案 3 :(得分:0)
虽然有一些奇特的方法,但程序员应该能够使用非常基本的编程操作符来解决这个问题。
知道如何使用循环和条件是绝对必要的。
$count = 0;
$letters= array("a","b","c","a","b");
foreach ($letters as $char){
if ($char == "b") $count = $count+1;
}
echo $count.' "b" found';
不是火箭科学。