php - 为新级别的数组添加额外级别的 foreach 循环
问题描述
我在多维数组中添加了一个额外的级别,我正在尝试找到合并新 foreach 循环或更改当前循环的最佳方法,以便我的模态正文为每个页面类型正确添加一个新部分。
基本上,我的模式应该有每个公司和显示(房间)的标题,并且正文应该有一个用于该显示/房间中每个页面类型的部分。
到目前为止,我所拥有的对模态标题都很好,但现在我已经评论了一个新部分,我需要一个新循环来实际显示页面类型和到期时间。
这是到目前为止的代码:
<?php
$displays = array(
"Company" => array(
"Company One Main"=>array(
"Displays"=>array(
"Room One"=>array(
"Page"=>array(
"Type"=>"News",
"Expiration"=>"06/12/2018"),
),
"Room Two"=>array(
"Page"=>array(
"Type"=>"Social",
"Expiration"=>"06/18/2018"),
),
"Room Three"=>array(
"Page"=>array(
"Type"=>"Social",
"Expiration"=>"06/18/2018"),
),
),
),
"Company One Other"=>array(
"Displays"=>array(
"Room Two"=>array(
"Page"=>array(
"Type"=>"Social",
"Expiration"=>"06/18/2018"),
),
"Room Three"=>array(
"Page"=>array(
"Type"=>"Social",
"Expiration"=>"06/18/2018"),
),
),
),
"Company Two Main"=>array(
"Displays"=>array(
"Room One"=>array(
"Page"=>array(
"Type"=>"Social",
"Expiration"=>"06/18/2018"),
),
"Room Two"=>array(
"Page"=>array(
"Type"=>"Social",
"Expiration"=>"06/18/2018"),
),
),
),
"Company Two Other"=>array(
"Displays"=>array(
"Room One"=>array(
"Page"=>array(
"Type"=>"Social",
"Expiration"=>"06/18/2018"),
),
"Room Two"=>array(
"Page"=>array(
"Type"=>"Social",
"Expiration"=>"06/18/2018"),
),
"Room Three"=>array(
"Page"=>array(
"Type"=>"Social",
"Expiration"=>"06/18/2018"),
),
),
),
),
);
?>
<div class="col-lg-4 col-md-12 col-sm-12">
<div class="page-header">
<h2>Pages Expiring Soon</h2>
</div>
<div class="card" id="expDisplays" style="margin-bottom:20px; padding:10px;">
<?php foreach($displays["Company"] as $area_name => $area_details): ?>
<h6><?php echo $area_name ?><a href="#" data-toggle="modal" data-target="#expiringDisplays">Edit</a></h6>
<!-- Modal -->
<div class="modal fade" id="expiringDisplays" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<?php foreach($area_details["Displays"] as $d=>$v): ?>
<h5 class="modal-title" id="modalLabel"><?php echo $area_name . " - " . $d?></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<!-- END MODAL HEADER -->
</div>
<!--Everything works to this point, I need a new foreach to show page types and expirations-->
<div class="modal-body">
<!--Need new foreach to get page types and their corresponding expiration-->
<br>
<h6><?php echo $v['Type'] ?></h6>
<h6>Date/Time Expiring: <?php echo $v["Expiration"] ?></h6>
<h6>Set New Expiration: <input data-date-format="mm/dd/yyyy" id="datepicker" name="datepicker"></h6>
<a href="#" style="float:left;">View Display</a>
<br>
<hr>
<?php endforeach; ?>
<!-- END MODAL BODY -->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
<!-- END MODAL FOOTER -->
</div>
<!-- END MODAL CONTENT -->
</div>
<!-- END MODAL DIALOGUE -->
</div>
<!-- END MODAL -->
</div>
<?php //endforeach; ?>
<?php endforeach; ?>
</div>
解决方案
您需要在模态体内放置一个新的 foreach 循环。尝试这个:
<div class="modal-body">
<?php foreach($v as $k=>$n){ ?>
<!--Need new foreach to get page types and their corresponding expiration-->
<br>
<h6><?php echo $n['Type']; ?></h6>
<h6>Date/Time Expiring: <?php echo $n["Expiration"] ?></h6>
<h6>Set New Expiration: <input data-date-format="mm/dd/yyyy" id="datepicker" name="datepicker"></h6>
<a href="#" style="float:left;">View Display</a>
<br>
<hr>
<?php } endforeach; ?>
<!-- END MODAL BODY -->
</div>
推荐阅读
- javascript - 在命令或断言引发超时错误后,我可以执行命令并将其显示在命令日志(时间旅行)中吗?
- azure - 使用 Azure 数据工厂捕获元数据并存储在 SQL 数据库中?
- python - 无法将张量流导入项目
- javascript - TypeError: Post.create 不是 mongodb 的函数
- json - 如何用我在 ViewDidLoad 上收到的数据填充 UITableView?
- r - R Highcharter:Shiny on the fly 中的动态钻取
- java - 需要创建集合实例的建议
- java - 通过多个正则表达式在Java中拆分字符串
- android - How create an isolated context in Android for instrumented test
- r - 动物园:“row.names”中不允许缺失值