大佬们遇到过这个问题吗?php 合并字符串中的相同项怎么回事哈啊?

有一个字符串,用“。”分割,写一个程序。合并字符串中相同的项。如字符串“大家好[81]。你是谁[3]。大家好[3]。老师好[12]。上午好。上午好[12]。”,合并后为"大家好[84]。你是谁[3]。老师好[12]。上午好[13]。"
Helenr
浏览 324回答 2
2回答

慕沐林林

$str='大家好[81]。你是谁[3]。大家好[3]。老师好[12]。上午好。上午好[12]。';$arr=mb_split("。",$str);foreach($arras$k=>$v){$tmp[]=preg_split('/\[/',$v);}$res=[];foreach($tmpas$k=>$v){$res[$v[0]][]=$v[1];}$result=[];foreach($resas$k=>$v){$i=0;if(!empty($k)){foreach($vas$k1=>$v1){if(empty($v1))$i++;else$i=$i+ltrim($v1,']');$result[$k]=$i;}}}$resStr='';foreach($resultas$k=>$v){$resStr.=$k.'['.$v.']'.'。';}print_r($resStr);

森栏

$str='大家好[81]。你是谁[3]。大家好[3]。老师好[12]。上午好。上午好[12]。';$arr=explode('。',$str);$result=[];foreach($arras$item){if(preg_match('!(?.+?)(\[(?\d+)\]?)!',$item,$row)){$i=$row['i']??0;if(isset($result[$row['str']])){$result[$row['str']]+=$i;}else{$result[$row['str']]=$i;}}}$result_str='';foreach($resultas$key=>$item){$result_str.=sprintf('%s[%d]。',$key,$item);}var_dump($result_str);//大家好[84]。你是谁[3]。老师好[12]。上午好[12]。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript