微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 if else 语句中使用 php 循环

如何解决如何在 if else 语句中使用 php 循环

if (isset($_GET['language']) && !empty($_GET['language'] && $_SESSION['language'] !== $_GET['language'])) {
    if ($_GET['language'] === 'en') {
      $_SESSION['language'] = 'en';
    } elseif ($_GET['language'] === 'ar') {
      $_SESSION['language'] = 'ar';
    } elseif ($_GET['language'] === 'de') {
      $_SESSION['language'] = 'de';
    } else {
      $_SESSION['language'] = $default_language;
    }
  }

我只想循环 elseif 语句。有没有办法做到这一点?

解决方法

您无需执行 issetempty,因为 empty 会为您执行此操作。

这还会检查语言是否属于特定语言之一(使用 in_array),如果不是,则使用默认语言...

if (!empty($_GET['language']) && $_SESSION['language'] !== $_GET['language']) {
    $_SESSION['language'] = in_array($_GET['language'],['en','ar','de'])
            ? $_GET['language'] : $default_language;
}
,

这里不需要循环。如果您打算将可用语言列入白名单,则将列表放入数组中并使用 in_array():

$languages = ['ar','de','en'];
if (isset($_GET['language']) && in_array($_GET['language'],$languages)) {
    $_SESSION['language'] = $_GET['language'];
} else {
    $_SESSION['language'] = $default_language;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。