PHP在数组中的数组中搜索字母
例如,我有一个数组PHP在数组中的数组中搜索字母,php,arrays,Php,Arrays,例如,我有一个数组 $name1 = "this is a string"; $name2 = "another string"; $arr1 = str_split($name1); //will return an array $arr2 = str_split($name2); //will return an array 现在我要做的是去掉$arr1到$arr2之间的所有相同字母,然后数一数剩余的字母。 示例输出: oe //total count is 2 你可以这样做 $
$name1 = "this is a string";
$name2 = "another string";
$arr1 = str_split($name1); //will return an array
$arr2 = str_split($name2); //will return an array
现在我要做的是去掉$arr1到$arr2之间的所有相同字母,然后数一数剩余的字母。
示例输出:
oe //total count is 2
你可以这样做
$name1 = "this is a string";
$name2 = "another string";
$arr1 = str_split($name1); //will return an array
$arr2 = str_split($name2); //will return an array
$uniquecounts = array_count_values(array_merge($arr1, $arr2));
foreach($uniquecounts as $char => $count) {
if($count == 1) {
echo $char . ' is unique' . "\n";
}
}
这将组合您的两个个性化字符数组,并仅对该字符的一个匹配项进行比较。请参阅手册,了解将来如何使用阵列计数值
输出:
o is unique
e is unique
oe 2
更新:
<?php
$name1 = "this is a string";
$name2 = "another string";
$arr1 = str_split($name1); //will return an array
$arr2 = str_split($name2); //will return an array
$uniquecounts = array_count_values(array_merge($arr1, $arr2));
$unqiues = '';
foreach($uniquecounts as $char => $count) {
if($count == 1) {
$unqiues .= $char;
}
}
echo $unqiues . ' ' . strlen($unqiues);
我以前遇到过这个问题,我所做的就是这样。foreach($ar1为$ar1=>$value1){foreach($ar2为$ar2=>$value2){if($value1==$value2){$counter+=1;}}}你能帮助我@chris85吗?见答案,以后,请将您尝试过的内容张贴出来。如果这对你有效,请接受答案,否则请将遇到的问题作为评论发表。让我试试这个@chris85..但我如何计算剩余的?计算剩余的,
什么?所有非唯一字符,是否出现重复?
function deduce($string1, $string2) {
$result = array();
foreach (count_chars($string2 . $string1, 1) as $i => $val) {
if($val == 1) {
$result[] = chr($i);
}
}
return $result;
}