У меня есть два массива
Первый массив:
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, которая очень удобна в вашей ситуации
должно работать что-то вроде следующего (при условии, что ваши массивы называются arrA и arrB
$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);
что ты уже испробовал? разместите свой код также здесь.