2015-04-30 61 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