从两个数组创建新数组,我将计算 php 中某些值的出现次数



我有两个数组

第一个数组:

Array ( [0] => stdClass Object ( [idConsultant] => 291 ) [1] => stdClass Object ( [idConsultant] => 292 ) [2] => stdClass Object ( [idConsultant] => 293 ) ) 

第二个数组:

Array ( [0] => stdClass Object ( [idConsultant] => 291 ) [1] => stdClass Object ( [idConsultant] => 291 ) [2] => stdClass Object ( [idConsultant] => 292 ) ) 

我需要一个函数如何返回我,对于第一个数组中的每个值,第二个数组中的出现次数。

我正在寻找的结果是:

Array ( [0] => stdClass Object ( [291] => 2 ) [1] => stdClass Object ( [292] => 1 ) [2] => stdClass Object ( [293] => 0 ) )

谢谢。

有一个名为array_count_values的函数 - 这在你的情况下非常方便

类似以下内容应该可以工作(假设您的数组被命名为arrAarrB

$arrCntValues = array_count_values(
array_merge
(
array_column($arrA, 'idConsultant'), 
array_column($arrB, 'idConsultant')
)
);
print_r($arrCntValues);

如果你真的需要它,就像你想要的结构一样,只需迭代它

$arrObjects = [];
foreach($arrCntValues AS $key => $val)
{
$obj = new stdClass();
$obj->$key = $val;
$arrObjects[] = $obj;
}
print_r($arrObjects);

最新更新