PHP开关大小写语句。如何管理默认值
这是我的switch case脚本:PHP开关大小写语句。如何管理默认值,php,html,Php,Html,这是我的switch case脚本: switch ($_GET['page']) { case '?users': ..... default: echo 'Welcome'; } 此脚本工作正常,但当我第一次加载页面时,他返回错误: Notice: Undefined index: page in 我知道为什么,因为脚本不知道值是什么。如何设置默认值并避免错误?使用isset():已编辑 if(isset($_GET['page'])){ switch ($_GET['p
switch ($_GET['page'])
{
case '?users':
.....
default: echo 'Welcome';
}
此脚本工作正常,但当我第一次加载页面时,他返回错误:
Notice: Undefined index: page in
我知道为什么,因为脚本不知道值是什么。如何设置默认值并避免错误?使用isset()
:已编辑
if(isset($_GET['page'])){
switch ($_GET['page'])
{
case 'users':
.....
default: echo 'Welcome';
}
}
使用已编辑的isset()
:
if(isset($_GET['page'])){
switch ($_GET['page'])
{
case 'users':
.....
default: echo 'Welcome';
}
}
1a)检查索引页面是否存在
if( array_key_exists('page', $_GET) ) {
}
1b)设置默认值
$_GET['page'] = array_key_exists('page', $_GET) ? $_GET['page'] : '';
2)您的案例陈述不正确
case 'users' :
//...
break;
3)将所有代码放在一起
$_GET['page'] = array_key_exists('page', $_GET) ? $_GET['page'] : '';
switch ($_GET['page']) {
case 'users':
//...
break;
default:
echo 'Welcome';
break;
}
提示
- 确保你
break代码>案例块
- 在盲目使用索引之前,请始终检查索引是否存在
1a)检查索引页面是否存在
if( array_key_exists('page', $_GET) ) {
}
1b)设置默认值
$_GET['page'] = array_key_exists('page', $_GET) ? $_GET['page'] : '';
2)您的案例陈述不正确
case 'users' :
//...
break;
3)将所有代码放在一起
$_GET['page'] = array_key_exists('page', $_GET) ? $_GET['page'] : '';
switch ($_GET['page']) {
case 'users':
//...
break;
default:
echo 'Welcome';
break;
}
提示
- 确保你
break代码>案例块
- 在盲目使用索引之前,请始终检查索引是否存在
在开关盒之前$page=isset($\u GET['page'])$_获取['page']:''
Debflav的意思是,对于键页面
,数组中没有元素$\u GET
,因此您需要确保其中有一些内容,甚至是一个空字符串。另外:对于whater.php?page=users
的$\u GET['page']
值将是users
而不是?users
求解。感谢开关(isset($\u GET['page'])?$\u GET['page']:''){@FranciscoPresencia感谢更具体一些。我有时很懒:在开关盒之前$page=isset($\u GET['page'])?$\u GET['page']:“”;
Debflav的意思是数组中没有用于键页面的元素$\u GET
,因此您需要确保有一些内容,甚至是空字符串。另外:对于whater.php?page=users
的$\u GET['page']
的值将是users
而不是?users
求解。谢谢(isset($_GET['page'])?$_GET['page']:''){@FranciscoPresencia多亏了更具体一点。我有时很懒:中的D-1如果var存在并且值不是NULL,则返回TRUE,否则返回FALSE。
你怎么能FALSE=='?用户“
?@FranciscoPresencia我正在编辑为什么要进行向下投票。因为你以前的代码明显错误(你不应该切换真/假)。现在我取消了向下投票。case语句仍然不正确,除非查询字符串是index.php?page=?users
-如果是,这将是不合逻辑的/奇怪的。-如果var存在,中的-1返回TRUE,如果var的值不是NULL,否则返回FALSE。
你怎么能FALSE=='?users'
?@Francisco Presencia I was编辑这就是为什么要投否决票。因为您以前的代码明显错误(您不应该切换真/假)现在我取消了否决票。case语句仍然是不正确的,除非查询字符串是index.php?page=?users
-如果是的话,这将是不合逻辑的/奇怪的。default
是否也需要中断;
?这对我来说是新闻。嗯,也许我从来没有放过它,因为它总是最后一个case,所以没问题。default
只在最后一个案例中才需要休息-但我这样做主要是一种习惯,而且读起来比较容易,因为每个案例都是统一的(案例->新行(缩进)->新行休息)。Idk…:PI也把最后一个休息。事实上,我认为他是可选的。+1详细回答。谢谢@Debflav:)(最后一种情况不需要中断&默认情况并不总是最后一种情况-因为奇怪/不合逻辑的代码编写)default
是否也需要休息;
?这对我来说是新闻。好吧,也许我从来没有放过它,因为它总是最后一个案例,所以没关系。default
不需要休息,只要它是最后一个案例,但我这样做主要是一种习惯,而且更容易阅读,因为每个案例都是统一的(case->new line(w/indent)->new linebreak
).Idk…:PI也把最后一个break
放进去。事实上,我认为他是可选的。+1用于详细的回答。谢谢@Debflav:)(最后一个案例不需要中断&默认值并不总是最后一个案例-因为奇怪/不合逻辑的代码编写)