php foreach将2个数组合并为1行(工作日和数据)

时间:2017-04-19 08:39:55

标签: php mysql arrays codeigniter

我的当前"出勤项目"有问题,所以我有2个阵列。

  • 第一个数组是显示"工作日" 第一个数组只显示当前月份的工作日:4月,所以第一个数组的结果是(3,4,5,6,7,10,11,12,13,14,17,18,19,20, 21,24,25,26,27,28)
  • 第二个数组显示当月(例如4月)的员工出勤率,因此我的第二个数组中的结果为(17,19)

这是我目前的代码:

text

它会产生: enter image description here

我希望值(17和19)将黄色背景标记为数据,并且表格不在范围之外。 任何帮助都会受到赞赏..

4 个答案:

答案 0 :(得分:1)

你的代码看起来很乱,我不打算用它来修复它,但我会建议解决方案:

第1次 - 运行foreach($ workdays为$ w)并制作标题 第二次运行foreach($ workdays as $ w)并制作像下面这样的表格:

foreach ($workdays as $w) {
    if (in_array($w, $tanggale)) //if tanggle is the one with 17 and 19
    {
         //code
    }
    else
    {
         //code
    }
}

答案 1 :(得分:0)

您可以做的就是将2个数组合并为1,然后根据您的要求迭代组合数组。 检查以下代码以组合数组

<?php
    $working_days = array(3,4,5,6,7,10,11,12,13,14,17,18,19,20,21,24,25,26,27,28);
    $present_days = array(17.19);
    $combine_attendence_array = array();
    foreach($working_days as $day) {
    $combine_attendence_array[$day] = 'Absent';
        if(in_array($day, $present_days)) {
            $combine_attendence_array[$day] = 'Present';
        }
    }
?>

此代码将创建带有键的组合数组,因为日期和值存在或不存在。

现在您可以根据您的要求进行迭代迭代代码。

foreach($combine_attendence_array as $day => $value){
            if($value == 'Present'){  ?>
                <td style="background: #FFF000">M</td>
                <?php }else{ ?>
                <td style="background: #48C9A9">O</td>
                <?php }     ?>
                <?php }    ?>   

我希望这个答案可以解决你的问题。

答案 2 :(得分:0)

以这种方式做到这一点

&#13 ;
&#13;
<?php 
        foreach($tanggale as $t){ 
            
            if(in_array($t,$workdays)){
            ?>
                <td style="background: #FFF000">M</td>
                <?php }else{ ?>
                <td style="background: #48C9A9">O</td>
                <?php } }  ?>
        </tr>
        <?php }  ?>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

foreach($workdays as $w){
   foreach($tanggale as $t){
       if($w == $t){
          $color = "#FFF000";
          $text = "M";
       } else {
          $color = "#48C9A9";
          $text = "O";
       }
   }
       ?>
       <td style="background: <?php echo $color; ?>"><?php echo $text; ?></td>


<?php }?>