PHP get方法始终为1?

PHP get方法始终为1?,php,debugging,web,get,Php,Debugging,Web,Get,为什么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

为什么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,如第一行代码所示。 谢谢你的回答和帮助我建立一个网站

isset($_GET['page'])
isset
如果设置了
$\u GET['page']
,则返回true或false。在本例中,php将true视为1

使用实际值:

echo $_GET['page'];
您可以检查其设置是否符合您的预期:

if(isset($_GET['page'])){
    //Do stuff with $_GET['page']
}
您有一个输入错误:

switch(isset($_GET['page'])){
应该是

switch($_GET['page']){

as
isset($\u GET['page'])
如果设置了页面,则始终为真(解释为1)。

请参见第一条语句中的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

谢谢,伙计,但我必须等12分钟才能接受:这才是真正的答案,我会接受的it@tor没问题。很高兴提供帮助。很抱歉花了这么长时间才接受它,但现在它已被接受@JimYou需要查看isset的文档