php变量中重复项的计数

php变量中重复项的计数,php,Php,你好 我有一个PHP变量,如: $var = 'Mark,John,Julian,Mark,Mark,Julian'; 我要数一数每一个重复的名字,然后像这样打印出来: John Mark (3) Julian (2) 如果将字符串转换为数组,则array\u count\u values()函数可能非常适合 $var = 'Mark,John,Julian,Mark,Mark,Julian'; $arr = explode(',', $var); $count = array_count_

你好

我有一个PHP变量,如:

$var = 'Mark,John,Julian,Mark,Mark,Julian';
我要数一数每一个重复的名字,然后像这样打印出来:

John
Mark (3)
Julian (2)
如果将字符串转换为数组,则array\u count\u values()函数可能非常适合

$var = 'Mark,John,Julian,Mark,Mark,Julian';
$arr = explode(',', $var);
$count = array_count_values($arr);
计数数组:

Array
(
    [Mark] => 3
    [John] => 1
    [Julian] => 2
)

您可以这样做:

$var = 'Mark,John,Julian,Mark,Mark,Julian';
$array = [];

foreach(explode(',', $var) as $name){
    if(isset($array[trim($name)]))
        $array[trim($name)]++;
    else
        $array[trim($name)] = 1;
}

foreach($array as $name => $count){
    echo $name . ($count > 1 ? ' (' . $count . ')' : '') . '<br />';
}

//prints: 
Mark (3)
John
Julian (2)
$var='Mark,John,Julian,Mark,Mark,Julian';
$array=[];
foreach(分解(“,”,$var)为$name){
if(isset($array[trim($name)]))
$array[trim($name)]++;
其他的
$array[trim($name)]=1;
}
foreach($name=>$count的数组){
回显$name。($count>1?'(“.$count”):“”)。“
”; } //印刷品: 马克(3) 约翰 朱利安(2)
谢谢兄弟,但是我从你的代码中发现了错误
解析错误:语法错误,第3行意外的“[”
@omardelo这可能是因为你还没有安装PHP5.4。要修复错误,只需安装PHP5.4或更高版本,或者只需将
[]
更改为
数组()
是的,你是对的,我将它改为
$array=array();
现在工作得很好,感谢agine Brothers的兄弟,我尝试了你的代码,当我在循环中打印数组时,
foreach($arr as$name=>$count){echo$name.('.$count.')
显示结果
0(马克)1(约翰)2(朱利安)3(马克)4(马克)5(朱利安)
@omardealo,您正在
$arr
变量上使用foreach。但是
$count
数组包含结果。在您的foreach中将
$arr
更改为
$count
。是的,现在的结果是
马克(3)约翰(1)朱利安(2)
但是我已经选择了正确的答案,你能原谅我吗,兄弟,非常感谢