我试过这个
$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
请帮忙..
您可以使用
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
将整个字符串设为大写或小写。