如何计算 array_column 中的多个项目?

How to count more than one items in array_column?

我问了一个名为“”的问题,现在我需要有关扩展该问题的帮助。

如何对两个数组中的项目进行计数?

我的数组如下所示:

Array
(
[0] => Array
(
    [acf_fc_layout] => irl_today_website_entry
    [irl_today_website] => Array
        (
            [0] => Array
                ( data removed)

            [1] => Array
                ( data removed )
        )
)
[1] => Array
(
    [acf_fc_layout] => irl_today_social_entry
    [irl_today_social] => Array
        (
            [0] => Array
                ( data remove )
            [1] => Array
                ( data remove)
        )
)
)

我使用:

<?php $arrays = get_field('irl_today_entry');
$res = array_map(function($x) {
return count($x);
}, array_column($arrays, 'irl_today_website'));?>

计算 [irl_today_social] 中的项目。如何计算 [irl_today_social][irl_today_website] 中的项目?

我试过 array_column($arrays, "irl_today_social", "irl_today_website") 但它只计算了 [irl_today_social]

中的项目

array_map() 可以输入多个数组进行处理。在这种情况下,第一个数组 "irl_today_social" 元素被 $x 引用,第二个 "irl_today_website"$y 引用。

使用以下内容:

$res = array_map(function($x, $y) {
    $soc = count($x);
    $web = count($y);
    return ['soc' => $soc, 'web' => $web];
}, array_column($arrays, "irl_today_social"), array_column($arrays, "irl_today_website"));

array_map() 将 return 一个包含每个计数的数组 - 结果样本输出:

Array
(
    [0] => Array
        (
            [soc] => 2
            [web] => 3
        )

)

demo