2015-06-09 83 views
0

我期待從我的變量($類型)中替換多個值的解決方案替換變量中的多個值

此變量可以具有34個值(字符串)。 我想找到一種方法來創建一個新的變量($ newtype)包含替換我的$類型的新字符串。

我認爲使用STR替代將是一個很好的解決方案,但我看到的事情是建立一個大的唯一方法「如果...」(34次?),但似乎不是最好的辦法..

在此先感謝您的幫助。

此致敬禮。

+0

它真的更好地理解,如果你已經發布的代碼以及預期的輸出 –

回答

2

我會建議不要在變量中存儲多個值的字符串,因爲它會變得凌亂!在一個陣列

存儲變量通過以下方式

$type['value1'] = 'cheese'; 
$type['value2'] = 'ham'; 

然後,如果你需要改變它,你可以做

$type['value2'] = 'chicken'; 

,你會得到(如果使用的print_r)

Array 
(
    [value1] => cheese 
    [value2] => chicken 
} 

這意味着您的所有數值將被整齊地存儲在相關密鑰旁邊,並且可以輕鬆訪問一個單獨的請求部分S

echo $type['value1'] 

將回聲出

Cheese 
0

您可以使用preg_replace與數組:

$from[0]='from1'; 
$from[1]='from2'; 
$from[2]='from3'; 
$to[0]='to1'; 
$to[1]='to2'; 
$to[2]='to3'; 

$newtype=preg_replace($from, $to, $type); 

我從來沒有使用過這樣的,但文件說,您需要使用ksort正確匹配替換順序:

$from[0]='from1'; 
$from[1]='from2'; 
$from[2]='from3'; 
$to[0]='to1'; 
$to[1]='to2'; 
$to[2]='to3'; 

ksort($to); 
ksort($from); 

$newtype=preg_replace($from, $to, $type);