PHP - 计算唯一单词并添加计数前缀

问题描述 投票:0回答:1

我试过这个

$data = "air;air;air;bus;air;air;bus;air;air";
$a = substr_count($data,"air");
$b = substr_count($data,"bus");
echo implode($a . ' x ', array_unique(explode('air;', $data)));

我明白了

7 x bus;7 x air

我真正想要得到的是

7 x air 2 x bus

请帮忙..

php count unique prefix implode
1个回答
0
投票

您可以使用

explode
函数从字符串创建一个数组,然后使用
array_count_values
返回一个包含所有值计数的数组。

<?php
$data = "air;air;air;bus;air;air;bus;air;air";

$arrayData = explode(';', $data);
$counts = array_count_values($arrayData);

foreach ($counts as $key => $val) {
    echo "$val x $key ";
}

注意:

array_count_values
区分大小写,如果要对不区分大小写的值进行计数,首先需要使用
strtoupper
strtolower
将整个字符串设为大写或小写。

© www.soinside.com 2019 - 2024. All rights reserved.