嗨,我是 php 的新手,我想问一下如何编写一个代码,将重复字母的数量放在两个单词中。例如:“apple”和“ball”总共有 7 个相同的字母(a、a、p、p、l、l、l)提前谢谢你 :)
问问题
1707 次
6 回答
2
不是最有效但可以说很简单:
$word1 = "apple";
$word2 = "ball";
print_r(array_count_values(str_split($word1.$word2)));
输出:
Array
(
[a] => 2
[p] => 2
[l] => 3
[e] => 1
[b] => 1
)
于 2013-02-18T07:58:32.810 回答
1
你可以做这样的事情。
$a = 'apple';
$b = 'ball';
$duplicates = array_count_values(array_merge(str_split($a), str_split($b)));
// Array ( [a] => 2 [p] => 2 [l] => 3 [e] => 1 [b] => 1 )
print_r($duplicates);
如果你想获得单词之间的匹配总数,你可以这样做。
$totalMatches = 0;
foreach($duplicates as $count) {
if($count > 1)
$totalMatches += $count;
}
// 7 matches!
echo $totalMatches . ' matches!';
于 2013-02-18T08:00:06.483 回答
1
可能是这样的:
$a= "apple";
$a.= "ball";
print_r(array_count_values(str_split($a)));
输出:
Array
(
[a] => 2
[p] => 2
[l] => 3
[e] => 1
[b] => 1
)
于 2013-02-18T08:01:03.610 回答
1
$str1 = "apple";
$ar1 = str_split($str1);
$str2 = "ball";
$ar2 = str_split($str2);
$res = array_merge($ar1,$ar2);
$count = array_count_values($res);
print_r($count);
于 2013-02-18T08:02:24.237 回答
0
尝试str_split从字符串创建数组,然后比较数组本身和其他数组以查找重复条目。
于 2013-02-18T07:57:30.143 回答
0
<?php
$str1 = 'applle';
$str2 = 'ball';
$str1arr = str_split($str1);
$str2arr = str_split($str2);
$all = array_merge($str1arr, $str2arr);
$countall = count($all) - count(array_intersect($str1arr, $str2arr));
echo "count of similar charactors (overall) =".($countall);//7!
?>
于 2013-02-18T08:11:01.463 回答