重组一个数组列表并根据键=>值输出列表如果它们匹配

问题描述

我有一个数据集,我正在使用 foreach 进行循环,结果当前显示如下; 目前输出如下:

  • 周一:休息

  • 星期二:中午 12:00 - 晚上 9:00

  • 星期三:中午 12:00 - 下午 2:00

  • 星期三:下午 5:00 - 晚上 9:00

  • 星期四:中午 12:00 - 下午 2:00

  • 星期四:下午 5:00 - 晚上 9:00

  • 星期五:中午 12:00 - 晚上 9:00

  • 星期六:中午 12:00 - 晚上 9:00

  • 星期日:休息

我的目标是将同一天合二为一,但我不知道如何去做。

  • 周一:休息
  • 星期二:中午 12:00 - 晚上 9:00
  • 星期三:中午 12:00 - 下午 2:00 和下午 5:00 - 晚上 9:00
  • 星期四:中午 12:00 - 下午 2:00 和下午 5:00 - 晚上 9:00
  • 星期五:中午 12:00 - 晚上 9:00
  • 星期六:中午 12:00 - 晚上 9:00
  • 星期日:休息

<?PHP foreach( $opening_hours as $row ) : ?>
<?PHP $day_of_week = $row['day_of_week']; ?>
<?PHP $open_24hr = $row['open_24hr']; ?>
<?PHP $closed_24hr = $row['closed_24hr']; ?>
<?PHP $opens = $row['opens']; ?>
<?PHP $closes = $row['closes']; ?>
<div class="hours__row">
  <p>
    <span><?PHP echo $day_of_week; ?></span> :
    <?PHP if( $closed_24hr ) : ?>
    <span>Closed</span>
    <?PHP elseif( $open_24hr ) : ?>
    <span>Open</span>
    <?PHP elseif( !$opens && $closes ) : ?>
    <span>Closes at <?PHP echo $closes; ?></span>
    <?PHP elseif( $opens && !$closes ) : ?>
    <span>Open from <?PHP echo $opens; ?></span>
    <?PHP else: ?>
    <span><?PHP echo $opens; ?></span> - <span><?PHP echo $closes; ?></span>
    <?PHP endif; ?>
  </p>
</div>
<?PHP endforeach; ?>

How currently looks.

What it needs to be.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)