首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Switch语句和isset

问Switch语句和isset
EN

Stack Overflow用户
提问于 2009-06-21 22:46:27
回答 5查看 7.3K关注 0票数 0

因为几个月前我的网站充满了通知错误,所以我现在正在尝试修复代码。我猜有一些php更新。我对php不太在行,所以:

代码语言:javascript
复制
switch ( (isset($_GET['action'])) ) {

case "delete":
delete();
break;

}

当我添加isset时,这将不起作用。

你不能在函数中使用isset吗?我真的不知道,所以我问你们知道这些事情的人。

干杯

EN

回答 5

Stack Overflow用户

发布于 2009-06-21 22:50:57

isset返回一个布尔值(参见isset manual page)。你的情况不会工作,因为'deleted‘不是一个有效的布尔值(我想它的计算结果是真的,但仍然是真的)。

您应该先检查是否已设置,然后再切换:

代码语言:javascript
复制
if(isset($_GET['action')) {
  switch ( $_GET['action']) ) {
    case "delete":
      delete();
      break;
  }
} else {
  ...
}
票数 6
EN

Stack Overflow用户

发布于 2009-06-21 22:47:39

这是因为isset返回的是true或false,而不是字符串(这是您的case语句所期望的)。

票数 3
EN

Stack Overflow用户

发布于 2009-06-21 22:49:15

isset()返回bool (true或false)。您希望在切换之前调用isset()。示例:

代码语言:javascript
复制
if (isset($_GET['action']))
{
  switch($_GET['action'])
  {
    ...
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1024918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档