PHP GET传值问题

<?php$arr_tit=array(-1=>'默认标题',nihao=>'你好',ni=>'你',);$id=isset($_REQUEST['id'])?intva... <?php
$arr_tit = array(
-1 => '默认标题',
nihao => '你好',
ni => '你',

);

$id = isset($_REQUEST['id']) ? intval(preg_replace('/^(\d*)\.html$/', '\1', $_REQUEST['id'])) : -1;

?>

上面代码我访问 php?id=nihao.html 应该会返回 你好 的标题 可是现在 却返回 “你” 这个标题,不管输入什么id值 都会返回最后一个ni 的值。请问为什么
展开
 我来答
百度网友690c81e14
2014-01-28 · TA获得超过635个赞
知道小有建树答主
回答量:680
采纳率:0%
帮助的人:669万
展开全部
^(\d*)\.html$ 是不能匹配 nihao.html的

\d 匹配数字的,相当于 [0-9]
更多追问追答
追问
那怎么样才可以呢
追答
\d改成\w
\w匹配 数字,字母和_
但这样只能保证能匹配到,至于输出什么,还得看你的程序其它部分才能知道
匿名用户
2014-01-28
展开全部
php?id=nihao.html的话
1)preg_replace('/^(\d*)\.html$/', '\1', 'nihao.html')的返回值是nihao.html
2)intval( 'nihao.html' )的返回值是0 【不太理解你这一步是想做什么】
3)执行后$id=0
$arr_tit[0],未定义,var_dump出来可以看到是NULL

至于总是返回最后一个ni 的值,因为你给出的代码里没有这部内容,没法分析
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
滨海渔村之梦
2014-01-28 · TA获得超过409个赞
知道小有建树答主
回答量:182
采纳率:50%
帮助的人:119万
展开全部
检查下是不是你的数组的下标没用引号圈起来? (字符串需要引号)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-28
展开全部
数组 最好用 post传
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式