2015-04-30 58 views
1

我在我的mysql列中有一個嵌套變量,現在將它打印出來,我希望它也能在我的腳本中被解析,但我不知道該怎麼做,我甚至嘗試了雙重做法$$id它仍然沒有工作。來自MySQL的解析變量 - 結果

這是我有:

從MySQL拉高,$消息現在有= Your order $$id is not ready yet.

$id="234"; 
echo $message; 

打印:

Your order $$id is not ready yet. 

真的想讓它顯示:

Your order 234 is not ready yet. 

任何形式的幫助我都能得到,非常感謝!

+0

什麼是$消息? –

+0

@habibulhaq $ message prints'您的訂單$$ id尚未準備好。「 – thevoipman

+1

他的意思是,消息是如何定義的? –

回答

1

由於$message來自數據庫,它應該如下所示,在這種情況下,您可以執行以下操作。

$message = 'Your order $$id is not ready yet'; 
    $id = "234"; 
    $message = str_replace('$$id', $id, $message); 
    print $message; 

爲了完整性 - 如果你的字符串,你的替代值均在數組中 - 你可以把它一點點更流暢:

$strings = array(
    'Your order $$id is not ready yet', 
    'Thank you $$name for your order', 
); 

    $replacements = array(
    'id' => "234", 
    'name' => "thevoipman", 
); 

    foreach($strings as &$message) 
    { 
    foreach($replacements as $placeholder => $value) 
    { 
     $message = str_replace('$$' . $placeholder, $value, $message); 
    } 
    } 
    print_r($strings); 
+0

謝謝,但我希望有一種更快的方式不使用str_replace ......我做了一個mysql select來獲得$ message – thevoipman

+1

@thevoipman你需要替換它,它是一個額外的行 - 我更新以匹配你的消息格式 –

+0

是否有無論如何我可以解析任何從MySQL選擇具有$ xxx使用PHP的$ xxx所以我不需要做10的str_replace ... – thevoipman