2017-03-20 165 views
-1

我有以下字符串數組檢查關聯字符串數組值

$array = array(
    "key" => "zhcdde,hzccd,eezhg" 
); 

我想要得到的值,將它們與分裂「」和計數等字母。例如,只有「z」和「h」相等,因爲這些是每個字符串組合中唯一發生的字符。我試了幾件像這樣的東西

$equalLetters = 0; 
foreach ($array as $key => $splitWords) { 
    $words = explode(",", $splitWords); 
    for ($letter = 0; $letter < strlen($words[0]); $letter++) { 
     if ($words[0][$letter] == $words[1][$letter] || $words[0][$letter] == $words[2][$letter] || $words[1][$letter] == $words[2][$letter]) { 
      $equalLetters++; 
     } 
    } 
} 
echo $equalLetters; 

沒有成功。你們能幫我嗎?

回答

3

不清楚我的關聯數組因素,但這裏怎麼是你如何能得到通用字母你的字符串:

<?php 
    $string = 'zhcdde,hzccd,eezhg'; 
    $words = explode(',', $string); 
    $letters = array_map('str_split', $words); 
    $common = call_user_func_array('array_intersect', $letters); 

    var_dump($common); 
?> 

,輸出:

array(2) { 
    [0]=> 
    string(1) "z" 
    [1]=> 
    string(1) "h" 
} 
+0

非常感謝,但有一種方法,我可以做同樣的循環? – Rumen

+2

有,但我已經提供了一個工作的答案,並不會提供第二個,最終會成爲三倍冗長。 –