如何统计一个数组中包含另一个数组的数量

3
假设我有一个像这样的数组:
print_r($request_params);

Array ( 
    [chat_id] => 120613381 
    [text] => Array ( 
        [0] => saadat 
        [1] => saadat 
        [2] => saadat 
        [3] => saadat 
        [4] => saadat 
        [5] => saadat 
        [6] => donya 
        [7] => donya 
        [8] => donya 
        [9] 
    )
)

如您在 [text] 中所看到的,我有多个值。现在我想对它们进行计数,但我不知道如何访问那一部分。
我的尝试是这样的,但它返回0:
echo $num3 = count($request_params[2]["text"]);

那么您有什么建议...

没有$request_params[2]。只有$request_params['chat_id']$request_params['text'] - Barmar
2个回答

2

你不需要 [2]:

echo count($request_params['text']);

0
我认为你正在寻找array_count_values函数。
它将返回一个关联数组,其中包含每个名称的计数。
$counts = array_count_values($request_params['text']);
Var_dump($counts); 

这个应该返回例如:
[saadat] => 6
[donya] => 3


@slajostealos Andreas 在这里有些困惑。请改进你的问题以表达你所期望的输出。(为了所有未来的 SO 读者) - mickmackusa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接