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 的值。请问为什么 展开
$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 的值。请问为什么 展开
4个回答
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 的值,因为你给出的代码里没有这部内容,没法分析
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
展开全部
数组 最好用 post传
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询