首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

PHP,变量里带有变量

2013-09-28 
PHP,变量里含有变量!$mcontent 的内容是“ dear:{$user[username]}你购买的商品:{$goods_name},订单号{$g

PHP,变量里含有变量!
$mcontent 的内容是“ dear:{$user['username']}   你购买的商品:{$goods_name},订单号{$goods_no}已下单成功,由于此商品近期销售火爆,请及时付款!  ”


其中里面的也是变量,可以我 echo $mcontent;  输不出里的变量,请问大神要怎么做!!! php 变量
[解决办法]

//模拟从数据库中读出的数据
$mcontent =<<< 'TXT'
dear:{$user['username']}
   你购买的商品:{$goods_name},订单号{$goods_no}已下单成功,由于此商品近期销售火爆,请及时付款!
TXT;

//涉及的变量需自行保证存在
$user['username'] = 'body';
$goods_name = 'xxx';
$goods_no = '123';

//方案一 不过有不少人恐惧 eval
$mcontent = eval("return "$mcontent";");
echo $mcontent;

//方案二 动态创建函数,格式有点绕人
$f = create_function('$user,$goods_name,$goods_no', "return "$mcontent";");
$mcontent = $f($user, $goods_name, $goods_no);
echo $mcontent;
//或
$f = create_function('$user,$goods_name,$goods_no', 'return "' . $mcontent . '";');
$mcontent = $f($user, $goods_name, $goods_no);
echo $mcontent;

//方案三 模板变量替换,这是解释型模板引擎的做法
$mcontent = preg_replace('/{\$[^}]+}/e', '$1', $mcontent);
echo $mcontent;
均将得到:
dear:body
   你购买的商品:xxx,订单号123已下单成功,由于此商品近期销售火爆,请及时付款!

热点排行