商品搜索
您好!欢迎光临深圳映月红贸易有限公司 
顶部菜单
内容标题
PHP解释单引号里边的变量
作者:admin    发布于:2013-04-27 14:32:45    文字:【】【】【

众所周知,PHP有一个比较特殊的特点,就是可以将变量写在字符串里边(通常用""号引起来),但关于''引号引起来的变量不会被解释

今天倒是刚好碰上这么一个问题,因为本人将$变量存进数据库,所以读出来后就无法解释了,我们将它比喻为'单引号里边的变量比较恰当,类似下面:

$str = 'table=datas&id={$_GET["id"]}&name={$_GET["name"]}';

当然有朋友一看便会说:将外面的'变成"不就行了嘛:$str = "table=datas&id={$_GET["id"]}&name={$_GET["name"]}";

很抱歉:上面我解释过,因为此字符串是数据库里读出来的,只是将它比喻为'单引号里边的变量,即使换成"号也无法解释

想了一通,只想到正则匹配再eval的解释方案,代码如下(有更好解决方案的朋友一定要告诉我)

 <?php
 $str = 'table=datas&id={$_GET["id"]}&name={$_GET["name"]}';
$str = preg_replace_callback( '/{([^}]*)}/', 'getVar', $str);
 echo $str;
 function getVar($var){
     eval("$result = isset({$var[1]})?{$var[1]}:"";");
     return $result;
 }

梦幻开发组

QQ: 523994553

交流QQ群: 113510264


脚注信息
Copyright (C) 2009-2010 All Rights Reserved. 深圳映月红贸易有限公司 版权所有   粤ICP备12345678号
服务时间:周一至周日 08:30 — 20:00  全国订购及服务热线:0755-32828676 
联系地址:深圳龙华。。。。   邮政编码:525000  
?

客户服务热线

0755-32828676

在线客服