【问题标题】:Multiple PHP includes based on conditional statement基于条件语句的多个 PHP 包含
【发布时间】:2014-05-11 12:18:18
【问题描述】:

我想根据以下条件语句包含 2 个文件

<?php 
 if (isset($_SESSION['name']) && $_SESSION['name'] == true) { 
 include 'file_a.php'; 
 }else{ 
 include 'file_b.php';
 }
 ?>

这是正确的方法吗?

【问题讨论】:

  • 这应该有助于stackoverflow
  • 如果你得到你想要的,那么我认为这种方法没有任何问题。
  • 你也可以使用三元运算符来改变单行语句
  • 在这种情况下使用三元运算将不是一个很好的选择。它会使代码难以辨认

标签: php include php-include


【解决方案1】:

你可以试试下一个代码:

if(session_id() == '') {
   session_start();
   include !empty($_SESSION['name']) ? 'file_a.php' : 'file_b.php';
}

【讨论】:

  • 我不知道为什么这些条件语句不符合逻辑。我使用 mysql num rows 分别比较和调用包含文件。但是我会让它工作。谢谢,
【解决方案2】:

这取决于你所说的“正确”是什么意思:

如果您的意思是“它是否有效”,那么是的,您的代码可以正常工作并且没有语法错误。

如果您的意思是“它可以更漂亮”,那么也许可以,但您是否愿意使用ternary operators 是个人喜好:

$toShow = isset($_SESSION['name']) && $_SESSION['name'] ? "file_a.php" : "file_b.php";
include $toShow;

同样,这是否比您以前的代码更好或更差,取决于您的个人意见。

TL;DR:是的,您的代码是正确的。

【讨论】:

    猜你喜欢
    • 2020-12-29
    • 2023-01-12
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多