为什么php get方法的值总是1?这是我的代码。
echo isset($_GET['page']);
switch(isset($_GET['page'])){
case 'a':
echo '1';
break;
case 'b':
echo 2'';
break;
case 'c':
echo '3';
break;
case 'd':
echo '';
break;
case 'e':
echo '4';
break;
default:
echo '5';
}
并且get方法的值始终为1,在第一行代码中显示。 感谢您回答并帮助我建立网站。
答案 0 :(得分:2)
isset($_GET['page'])
如果设置了isset
, $_GET['page']
将返回true或false。在这种情况下,php将true视为1。
使用实际值:
echo $_GET['page'];
您可以检查它是否设置了您可能的意图:
if(isset($_GET['page'])){
//Do stuff with $_GET['page']
}
答案 1 :(得分:0)
你有一个错字:
switch(isset($_GET['page'])){
应该是
switch($_GET['page']){
如果设置了页面,则isset($_GET['page'])
始终为真(解释为1)。
答案 2 :(得分:0)
见1是在第一个陈述中打印,即
echo isset($_GET['page']);
isset()将返回0或1,这就是为什么你总是得到1!
你的开关案例中的第二件事就是错误:
switch(isset($_GET['page'])) // wrong because will pass only 0 or 1 in switch case
switch($_GET['page']) // Right will pass the URL page parameter value i.e .php?page=a here a will pass in switch statement