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"
  }
}