2017-01-20 32 views
-2

你能告訴我如何檢測字符串中的整數,然後用值替換每個整數嗎? 例如,我在數據庫中有這個「1; 5; 81; 2」,我想用特定的值替換每個數字,例如我想得到結果「obzq」 有沒有辦法這個?謝謝PHP檢測和替換

+1

具有'strtr'功能 –

+0

試過幾乎所有的問題,問題是整數的數量並不確切,它沒有定義模式。 –

回答

0

使用鍵值對創建一個數組,其中鍵是數字,值是相應的字母。然後用數字在字符串上使用php函數explode(),並在數組中用相應的字母替換數字。

實施例:

$numberLetterArray = array(
    1 => 'o', 
    2 => 'q', 
    5 => 'b', 
    81 => 'z', 
); 

$string = '1;5;81;2'; 

// Creates an array of only the numbers 
$numbers = explode(';', $string); 

foreach($numbers as $n) 
{ 
    foreach($numberLetterArray as $number=>$letter) 
    { 
     if($number == $n) 
     { 
      $output .= $letter.' '; 
     } 
    } 
} 

// Remove the space at the end 
$output = trim($output); 

應輸出 「○BŽQ」。

+0

我嘗試過,但問題是它不會總是1 2 5 81和o q b z –

+0

你在哪裏引用字母和數字之間的關係? – VenomRush

+0

數字是ids,字母是對應於每個ID的用戶名。 –