喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: [问题] 求一实现思路  
 
buzzard (家有咸妻)
高级会员
Rank: 4
老不死的会员


UID 19416
精华 0
积分 866
帖子 1137
金钱 866 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2003-4-7
状态 离线
[广告]: 代充Paypal帐号美元
求一实现思路

数组$array={'num1'=>12,'num2'=>14,'num3'=>20}
字符串 $str = "[[num1]]+[[num3]]*56";

最终结果 使$str = "12+20*56"

想了很久,没想出来,我用正则太烂了,求助大虾们
2007-8-17 03:09 PM#1
查看资料  发短消息  顶部
 
只爱一个人 (只爱一个人)
论坛元老
Rank: 8Rank: 8
超级管理员



UID 29639
精华 0
积分 3779
帖子 1616
金钱 3779 喜悦币
威望 0
人脉 0
阅读权限 90
注册 2004-6-26
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
<?php
$array=array('num1'=>12,'num2'=>14,'num3'=>20);
$str = "[[num1]]+[[num3]]*56";
$temp = preg_replace("/\[\[(.*?)\]\]/","\$array[\\1]",$str);
eval("\$str = \"$temp\";");
echo $str;
?>




customavatars/296392.jpg
2007-8-17 03:46 PM#2
查看资料  访问主页  Blog  发短消息  顶部
 
buzzard (家有咸妻)
高级会员
Rank: 4
老不死的会员


UID 19416
精华 0
积分 866
帖子 1137
金钱 866 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2003-4-7
状态 离线
[推荐阅读] 你为啥要MVC
谢谢楼上
我是这样实现的,效果还不错
$patt = $array('/\[\[num1\]\]/','/\[\[num2\]\]/','/\[\[num3\]\]/')
$ment = $array(12,13,20)
$avl = preg_replace($patt,$ment,$str);
2007-8-17 04:47 PM#3
查看资料  发短消息  顶部
 
只爱一个人 (只爱一个人)
论坛元老
Rank: 8Rank: 8
超级管理员



UID 29639
精华 0
积分 3779
帖子 1616
金钱 3779 喜悦币
威望 0
人脉 0
阅读权限 90
注册 2004-6-26
状态 离线
[推荐阅读] 怎么解决地址中.php后 ‘/’ 的问题啊
没搞明白,你要什么样的,

好像你最后写的,和你开始问的玩全是两回事啊




customavatars/296392.jpg
2007-8-17 04:56 PM#4
查看资料  访问主页  Blog  发短消息  顶部
 
buzzard (家有咸妻)
高级会员
Rank: 4
老不死的会员


UID 19416
精华 0
积分 866
帖子 1137
金钱 866 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2003-4-7
状态 离线
[推荐阅读] 重庆服务器租用,四川服务器租用,浙江服务器租用,主机托管——重庆首页
是这样的
比如
我有个未知数组它的格式是这样的,它的值和key都是预先不能确定的
$array['num1'] = 12;
$array['num3'] = 90;
.......

$str 字符串的值也是未知的,里面可能包含$array的key,我现在做的是把$str的[[key]]替换成$array['key'];
while(list($key,$val) = each($array)){
        $patt[] = "/\[\[".$key."\]\]/";
        $ment[] = $val;
}

$reStr = preg_replace($patt,$ment,$str);
2007-8-17 05:08 PM#5
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.023923 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP