我有一个像:
这样的数组[Organization_id] => Array
(
[0] => 4
[1] => 4
[2] => 2
[3] => 4
[4] => 2
[5] => 4
[6] => 4
[7] => 4
[8] => 2
)
现在我只想知道谷歌'4'& '2'确实出现在这个数组中,即:我的结果必须是这样的东西:
[id_repeat] => Array
(
[0] => 6
[1] => 3
)
其中,第0个位置代表值'4'和'的重复总次数。第一个位置将代表值'2'的重复总次数。
但请记住,这些值不是硬编码的,这些值将来自某些表格。
提前致谢。
答案 0 :(得分:7)
此功能:
从输入中返回值的关联数组,作为键,并将其计数作为值。
样本用法:
<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>
以上示例将输出:
Array
(
[1] => 2
[hello] => 2
[world] => 1
)
答案 1 :(得分:1)
你可以这样做:
$freq_array = array_count_values($Organization_id);
$id_repeat = array(
$freq_array[4],
$freq_array[2]
);
答案 2 :(得分:0)
以下是一个代码段,它将按照b
中出现的顺序为输入数组a
中的每个元素创建频率数组a
。请注意,它不会计算输入中的null
值。这是在javascript,因为我不擅长PHP。
var a = [4, 4, 2, 4, 2, 4, 3, 3, 3, 5 , 4];
var b = [];
for(var i = 0; i < a.length; i++)
{
if(a[i] != null)
b.push(1);
else
continue;
for(var j = i + 1; j < a.length; j++)
{
if(a[i] == a[j])
{
b[b.length - 1]++;
a[j] = null;
}
}
}
console.log(b.join());//5,2,3,1