我有一串隨機字符串,我需要知道哪些字母在數組成員之間是一致的。這些字母的數量很重要。確定字符串數組之間的重複字母計數
我的方法現在是遍歷數組,做一個分割,然後通過吐盡串循環計數每個字母的出現,然後更新letter => count
數組然後做創建一個新的array_reduce僅在所有陣列中出現的成員數組。但是,它不工作。
<?
$a[] = "emaijuqqrauw";
$a[] = "aaeggimqruuz";
$a[] = "aabimqrtuuzw";
$a[] = "aacikmqruuxz";
$a[] = "aacikmqruuxz";
$a[] = "aaciimqruuxy";
foreach($a as $b){
$n = str_split($b, 1);
foreach($n as $z){
$arr[$z] = substr_count($b, $z);
}
ksort($arr);
$array[] = $arr;
unset($arr);
}
$n = array_reduce($array, function($result, $item){
if($result === null){
return $item;
}else{
foreach($item as $key => $val){
if(isset($result[$key])){
$new[$key] = $val;
}
}
return $new;
}
});
foreach($n as $key => $val){
echo str_repeat($key, $val);
}
這將返回aaiimqruu
- 這是有點權,但只有2 i
的數組中的最後一個元素。剩下的只有一個i
。我不知道如何將它分解得更遠並讓它返回aaimqruu
- 然後我會彈出一個SQL查詢來查找匹配的單詞,aquarium
我編輯我的問題是更具體,我已經添加了一些更新的代碼。 – 2012-03-18 04:34:00