2012-01-01 82 views
2

我需要一個函數來用一個單詞替換其他字母中的每個字母。例如:PHP替換單詞中的每個字母

a = tu 
b = mo 
c = jo 

如果我寫的 「ABC」,我想 「tumoji」,如果我寫的 「BCA」 我想 「mojotu」 等

回答

4
$from = array('a', 
       'b', 
       'c' 
      ); 
$to = array('tu', 
      'mo', 
      'jo' 
      ); 
$original = 'cab'; 
$new = strtr($original,$from,$to); 

$replacements = array('a' => 'tu', 
         'b' => 'mo', 
         'c' => 'jo' 
        ); 
$original = 'cab'; 
$new = strtr($original,$replacements); 

$replacements = array('a' => 'tu', 
         'b' => 'mo', 
         'c' => 'jo' 
        ); 
$original = 'cab'; 
$new = ''; 
foreach(str_split($original) as $letter) { 
    $new .= $replacements[$letter]; 
} 
+0

你確定這是正確使用'strtr函數的效率()的'在你的第一個例子嗎? – alex 2012-01-01 13:21:11

+0

@alex - 已經修復 – 2012-01-01 13:22:21

+0

你應該傳遞'array_combine($ from,$ to)'嗎? – alex 2012-01-01 13:23:27

3

使用strtr()

$str = strtr($str, array('a' => 'tu' /*, ... */)); 
相關問題