PHP:如何改变;如果-动态条件顺序
情况是这样的:有一个连续的循环,它更新一些值。然后脚本检查某些条件。(简化)代码:PHP:如何改变;如果-动态条件顺序,php,dynamic,if-statement,Php,Dynamic,If Statement,情况是这样的:有一个连续的循环,它更新一些值。然后脚本检查某些条件。(简化)代码: 重要提示:if条件是动态的。因此没有真正的模式(上面的例子是简化的,所以不是完整的条件)不确定这是否是您想要的,但是您可以在函数中放入if: <?php set_time_limit(0); function a($a,$b,$c,$d){ if($a >= 12 && time() <= $b && ($d === false || $d <
重要提示:if条件是动态的。因此没有真正的模式(上面的例子是简化的,所以不是完整的条件)不确定这是否是您想要的,但是您可以在函数中放入
if
:
<?php
set_time_limit(0);
function a($a,$b,$c,$d){
if($a >= 12 && time() <= $b && ($d === false || $d <= time()))
{
include 'pages/'.$a.'.php';
}
}
function b($a,$b,$c,$d){
if($b <= 3 && time() >= $d && ($c === false || $c <= time()))
{
include 'pages/'.$b.'.php';
}
}
// etc
while(1==1)
{
$a = getFromDatabase('a'); // function to get value of A
$b = getFromDatabase('b'); // function to get value of B
$c = getFromDatabase('c'); // function to get value of C
$d = getFromDatabase('d'); // function to get value of D
$order = array('b','a'); // first b then a
foreach( $order as $fun)
call_user_func_array($fun, array($a,$b,$c,$d))
}
将它们放在函数中,然后只需存储函数的名称,然后依次检查每个函数
function func1($a, $b, $c, $d)
{
if (...)
{
return $a
}
return false;
}
function func2($a, $b, $c, $d)
...
$funcs = Array('func1', 'func2');
...
foreach($funcs as $func)
{
if ($page = $func($a, $b, $c, $d))
{
include "pages/$page.php"
}
}
什么?你到底想做什么?为什么要这么做?你能提供更多关于你在做什么的信息吗?目前,你的代码很可怕。我认为如果你想实现你想要的,你只需要更多的IFs:DIt是一个“机器人”,可以检查数据库中的时间,如果时间过去了,它会执行某些命令。这不是很有帮助。你能提供更多的见解吗?
<?php
set_time_limit(0);
function a($a,$b,$c,$d){
if($a >= 12 && time() <= $b && ($d === false || $d <= time()))
{
include 'pages/'.$a.'.php';
}
}
function b($a,$b,$c,$d){
if($b <= 3 && time() >= $d && ($c === false || $c <= time()))
{
include 'pages/'.$b.'.php';
}
}
// etc
while(1==1)
{
$a = getFromDatabase('a'); // function to get value of A
$b = getFromDatabase('b'); // function to get value of B
$c = getFromDatabase('c'); // function to get value of C
$d = getFromDatabase('d'); // function to get value of D
$order = array('b','a'); // first b then a
foreach( $order as $fun)
call_user_func_array($fun, array($a,$b,$c,$d))
}
function func1($a, $b, $c, $d)
{
if (...)
{
return $a
}
return false;
}
function func2($a, $b, $c, $d)
...
$funcs = Array('func1', 'func2');
...
foreach($funcs as $func)
{
if ($page = $func($a, $b, $c, $d))
{
include "pages/$page.php"
}
}