【问题标题】:Return Zero If Item Within Array Loop Is Not Available And Arrange Items As Week Days如果数组循环中的项目不可用,则返回零并将项目排列为工作日
【发布时间】:2020-09-05 00:40:18
【问题描述】:

我有这个数组:

"Month" => array:4 [    
    "Week 1" => array:1 [
        "Monday"    => 1
    ]
    "Week 2" => array:3 [
        "Tuesday"   => 69
        "Wednesday" => 17
        "Friday"    => 3
    ]
    "Week 3" => array:1 [
        "Thursday"  => 3
    ]
    "Week 4" => array:2 [
        "Monday"    => 15
        "Friday"    => 24
    ]
]

但我需要将结果显示如下:

| Week   | Monday | Tuesday | Wednesday | Thursday | Friday |
|--------|--------|---------|-----------|----------|--------|
| Week 1 | 1      | 0       | 0         | 0        | 0      |
| Week 2 | 0      | 69      | 17        | 0        | 3      |
| Week 3 | 0      | 0       | 0         | 3        | 0      |
| Week 4 | 15     | 0       | 0         | 0        | 24     |

我尝试了以下方法,但每周显示结果超过 5 天

<table>
<tr>

foreach ($weeks as $key => $weekcount)
{

if($key == "Monday"){ <td><?php $weekcount ?></td> }
elseif($key == "Tuesday"){ <td><?php $weekcount ?></td> } 
elseif($key == "Wednesday"){ <td><?php $weekcount ?></td> }
elseif($key == "Thursday"){ <td><?php $weekcount ?></td>} 
elseif($key == "Friday"){ <td><?php $weekcount ?></td> }
else {<td><?php $weekcount ?></td>}

}

</tr>
</table>

提前感谢您的宝贵贡献

【问题讨论】:

    标签: javascript php laravel laravel-blade


    【解决方案1】:

    希望对您有所帮助!

    <table class="table">
        <thead>
    
          <tr>
            <th>Week</th>
            <th>Monday</th>
            <th>Tuesday</th>
            <th>Wednesday</th>
            <th>Thursday</th>
            <th>Friday</th>
          </tr>
        </thead>
        <tbody>
          <?php
          $data = [
              "week 1" => [
                "Monday" => 1
              ],
              "week 2" => [
                "Tuesday" => 69,
                "Wednesday" => 17,
                "Friday" => 3
              ],
              "week 3" => [
                "Thursday" => 3
              ],
              "week 4" => [
                "Monday" => 15,
                "Friday" => 24
              ]
            ];
            $array1 = ['Monday', 'Tuesday' , 'Wednesday' , 'Thursday' , 'Friday'];
            foreach ($data as $key => $value) {
            ?>  
               <tr>
                    <td><?php echo $key ?></td>
                    <?php 
                      foreach ($array1 as $arr) {
                        if(!array_key_exists($arr, $value)){
                          $value[$arr] = 0;
                        } 
                    ?>
                    <td><?php echo  $value[$arr] ?></td>
    
                  <?php } ?>
    
                </tr>
           <?php } ?>
        </tbody>
      </table>
    

    【讨论】:

      【解决方案2】:

      您应该检查给定的日期(键)是否存在于数组中,如果不存在,则应将 0 写入表中。

      这是一个示例代码:

      <?php
      
      $data = [
      
          'Month' =>  [
      
              'Week1' => [
                  'Monday' => 1
              ],
      
              'Week2' => [
                  'Tuesday'   => 69,
                  'Wednesday' => 17,
                  'Friday'    => 3
              ],
      
              'Week3' => [
                  'Thursday' => 3
              ],
      
              'Week4' => [
                  'Monday' => 15,
                  'Friday' => 24
              ]
          ]
      
      ];
      
      $weeks = $data['Month'];
      
      ?>
      
      <table>
      
      <tr>
          <th>Week</th>
          <th>Monday</th>
          <th>Tuesday</th>
          <th>Wednesday</th>
          <th>Thursday</th>
          <th>Friday</th>
      </tr>
      
      <?php
      $days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];
      ?>
      
      <?php foreach ($weeks as $key => $week) { ?>
      
          <tr>
              <td><?php echo $key; ?></td>
              <?php foreach ($days as $day) { ?>
      
              <td><?php if (array_key_exists($day, $week)) { echo $week[$day]; } else { echo '0'; } ?></td>
      
              <?php } ?>
          <tr>
      
      <?php } ?>
      
      </table>
      
      

      希望能帮到你!

      【讨论】:

        猜你喜欢
        • 2021-09-26
        • 2016-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多