我有两个文件if.php
和index.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
}?>
答案 0 :(得分:2)
每个PHP文件都是单独编译的,并且必须在语法上正确。 不可能在文件中启动control structure,function或class并将其关闭在其他文件中。
然而,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