Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何折射长函数(高效编码)_Php_Function - Fatal编程技术网

Php 如何折射长函数(高效编码)

Php 如何折射长函数(高效编码),php,function,Php,Function,也许我在问一些我能在谷歌上找到的问题。但是否有人愿意帮助我提高代码的效率?除了这个特定的问题,所有有效编码的提示都是欢迎的 这是我的代码: foreach ($data as $d) { if (date("m-d", strtotime($d['gebdatum'])) == $today) { $alltable .= '<tr><td>'.$d['voornaam'].' '.$d['naam'].'&emsp;<

也许我在问一些我能在谷歌上找到的问题。但是否有人愿意帮助我提高代码的效率?除了这个特定的问题,所有有效编码的提示都是欢迎的

这是我的代码:

foreach ($data as $d) {
        if (date("m-d", strtotime($d['gebdatum'])) == $today) {
            $alltable .= '<tr><td>'.$d['voornaam'].' '.$d['naam'].'&emsp;</td><td>is vandaag '.$d['leeftijd'].' geworden</td></tr>';
        }

        if (date("m-d", strtotime($d['gebdatum'])) == $today+1) {
            $alltable .= '<tr><td>'.$d['voornaam'].' '.$d['naam'].'&emsp;</td><td>wordt morgen '.$d['leeftijd'].' jaar</td></tr>';
        }

        if (date("m-d", strtotime($d['gebdatum'])) == $today+2) {
            $alltable .= '<tr><td>'.$d['voornaam'].' '.$d['naam'].'&emsp;</td><td>wordt overmorgen '.$d['leeftijd'].' jaar</td></tr>';
        }

        if (date("m-d", strtotime($d['odienst'])) == $today) {
            $alltable .= '<tr><td>'.$d['voornaam'].' '.$d['naam'].'&emsp;</td><td>werkt vandaag '.$d['jubileum'].' jaar bij Kuijpers</td></tr>';
        }

        if (date("m-d", strtotime($d['odienst'])) == $today+1) {
            $alltable .= '<tr><td>'.$d['voornaam'].' '.$d['naam'].'&emsp;</td><td>werkt morgen '.$d['jubileum'].' jaar bij Kuijpers</td></tr>';
        }

        if (date("m-d", strtotime($d['odienst'])) == $today+2) {
            $alltable .= '<tr><td>'.$d['voornaam'].' '.$d['naam'].'&emsp;</td><td>werkt overmorgen '.$d['jubileum'].' jaar bij Kuijpers</td></tr>';
        }
    }
foreach($d数据){
如果(日期(“m-d”,标准时间($d['gebdatum'))=今天美元){
$alltable.=''.$d['voornaam'..'.$d['naam'..&emsp;是vandaag'.$d['leeftijd'.'geworden';
}
如果(日期(“m-d”,标准时间($d['gebdatum'))=今天美元+1){
$alltable.=''.$d['voornaam'..'.$d['naam'..&emsp;wordt morgen'.$d['leeftijd'.'jaar';
}
如果(日期(“m-d”,标准时间($d['gebdatum'))==今天$2){
$alltable.=''.$d['voornaam'..'.$d['naam'..&emsp;wordt overmorgen'.$d['leeftijd'.'jaar';
}
如果(日期(“m-d”,标准时间($d['odienst'))=今天美元){
$alltable.=''.$d['voornaam'...$d['naam'..&emsp;werkt vandaag.$d['jubileum'.'jaar bij Kuijpers';
}
如果(日期(“m-d”,标准时间($d['odienst'))==今天$1){
$alltable.=''.$d['voornaam'...$d['naam'..&emsp;werkt morgen'.$d['jubileum'.'jaar bij Kuijpers';
}
如果(日期(“m-d”,标准时间($d['odienst'))==今天$2){
$alltable.=''.$d['voornaam'...$d['naam'..&emsp;werkt overmorgen.$d['jubileum'.'jaar bij KUIPPERS';
}
}

我确信这段代码可以返回到一组行。但是怎么做呢?

您正在寻找一个for循环。尽管在此之前你必须申报vandaag、morgen和overmorgen。像这样:

$today=date('m-d');
$array=array(0=>'is vandaag',1=>'wordt morgen',2=>'wordt overmorgen');
for($i=0;$i<3;$i++){
      $pos=strpos($array[$i], ' ');
   $geboortedatum=date("m-d", strtotime($d['gebdatum']));
   $jubileum=date("m-d", strtotime($d['odienst']));
   if (date($geboortedatum, strtotime('+'.$i.' days')) == date('m-d')) {
        $alltable .= '<tr><td>'.$d['voornaam'].' '.$d['naam'].'&emsp;</td><td>'.$array[$today+$i].' '.$d['leeftijd'].' jaar</td></tr>';
    }
    if (date($jubileum, strtotime('+'.$i.' days')) == date('m-d')) {
        $alltable .= '<tr><td>'.$d['voornaam'].' '.$d['naam'].'&emsp;</td><td>werkt '.substr($array[$today+$i], $pos).' '.$d['jubileum'].' jaar bij Kuijpers</td></tr>';
    }
}
$today=日期('m-d');
$array=array(0=>'is vandaag',1=>'wordt morgen',2=>'wordt overmorgen');

对于($i=0;$iTo用字符串形式的数据保存html标记并不是最好的主意,因为很难找到和更改某些内容。我会重新思考代码,将数据保存在数组中。然后,如果您想显示这些数据,请在标记之间打印数据。这看起来像南非荷兰语,大约是星期几?如果您将其翻译成英国人会更好地提供帮助。另外,你自己也做不到吗?重构这样的东西只是在代码上摆弄一下,直到它变得尽可能简单。@SverriM.Olsen这是荷兰语。这是关于生日的。vandaag=今天,morgen=明天,overmorgen=后天我的答案应该行得通。我只是没有ested它。请告诉我它是否有效。如果无效,请告诉我它的问题。它不起作用。我认为问题在于$today+$I,我已经声明$today=date(“m-d”);所以今天是04-15。但是$today+1给出“5”,所以这不是明天的日期。