如何在php上使用include或require_once if else语句?

时间:2018-01-16 08:55:08

标签: php

我有两个文件if.phpindex.php,我想使用if.php来存储if条件形式if语句。但它似乎不起作用。有可能吗?谢谢

if.php

<?php 
if(Three == 3) { 
 //do something
}
?>

的index.php

<?php
 require_once 'if.php';
else{
  //do something
}?>

更新: Beacase我有很多index.php(例如index1.php,index2.php,index3.php ......................... index731。 PHP)

如果我需要保持if语句的更新..... 第一天需要添加if(一个== 1),第二天需要添加if(一个== 1,两个==三个)

所以如果我需要在if语句中添加值,我需要更改很多页面!!!!!! 但最后,我找到了解决方案。

if.php

<?php
    if(Three == 3) {
        $session_admin =true; 
    }
?>

的index.php

<?php
require_once 'if.php';
if($session_admin ==true){
//do something
}else{
  //do something
}?>

2 个答案:

答案 0 :(得分:2)

每个PHP文件都是单独编译的,并且必须在语法上正确。 不可能在文件中启动control structurefunctionclass并将其关闭在其他文件中。

然而,return a value from an included file可能。您可以使用它来实现您想要的行为:

档案 if.php

<?php 
if (Three == 3) { 
    // do something
    return true;
} else {
    return false;
}

档案 index.php

<?php
if (require_once 'if.php') {
    // do something (or nothing)
} else {
   // do something else
}

但是,不推荐这种做法。最好的方法是将测试封装在一个函数中:

档案 if.php

function testSomething() {
    if (Three == 3) {
        // do something
        return true;
    } else {
        return false;
    }
}

档案 index.php

require_once 'if.php';

if (testSomething()) {
    // do something
} else {
    // do something else
}

答案 1 :(得分:1)

使用if else语句的错误方法,自爆代码可能会对您有所帮助:

<强>的index.php

<?php
    if($value == 1) { 
        include_once('first_file.php');
    }else{
        include_once('second_file.php');
    }
// ** OR **
    switch($value){
        case '1': include_once('first_file.php');break;
        case '2': include_once('second_file.php');break;
    }
 ?>

<强> first_file.php

// put here the code that you want run when $value == 1

<强> second_file.php

// put here the code that you want run when $value == 2