2015-09-18 20 views
0

替換通配符的幾個實例,我有一個通配符的多個實例的字符串:與字符串數組在PHP

的$ X一$ X保持$ X之遙。

並與替換項的數組:

["apple","day","doctor"] 

我想和第一陣列值,所述第二通配符與第二陣列值等來取代第一個通配符,得到:

一天一個蘋果讓醫生遠離我。

我很抱歉,如果這已經在其他地方問過,但我無法找到一個單一搜索內容替換,只爲多替代了多個搜索任何實例,但通配符沒有編號所以這不合適。

謝謝。

+0

你的意思很像[(S)的printf(http://php.net/sprintf)? –

+0

看起來很完美,謝謝!我認爲這是一旦你知道這些簡單的事情之一...但我所有的搜索都指向了preg_replace等,我從來沒有聽說過printf來搜索它。如果您將其作爲答案提交,我會接受它。 – user3640967

回答

3

(s)printf應該做你所要求的。

+0

感謝您的快速回復,而不是發佈LMGTFY鏈接! – user3640967

+0

什麼是LMGTFY鏈接? – Epodax

+1

@Epodax http://goo.gl/bFKJta;) –

1

兩個選項,我能想到的sprintf()list()

$sentence = "An %s a %s keeps the %s away."; 
$array = ["apple","day","doctor"]; 
echo sprintf($sentence , $array[0], $array[1], $array[2]); 

// or not a single wildcard. 
$array = ["apple","day","doctor"]; 
list($apple, $day, $doctor) = $array ; 
echo "An $apple a $day keeps the $doctor away."; 
+0

哎呀,這很晚了,我應該去度週末。謝謝! – Timmetje

+1

請注意,您可以對數組使用'vsprintf'。 http://php.net/manual/en/function.vsprintf.php –