php - foreach 循环内的多维数组
问题描述
我有这个类别列表,我正在创建菜单规划器,这个代码正在工作,下面给出了这个代码的输出,
$categoryList=Category::where('user_id',$id)->get();
$meal_day=array('1'=>'Monday','2'=>'Tuesday','3'=>'Wednesday','4'=>'Thursday','5'=>'Friday','6'=>'Saturday','7'=>'Sunday');
$meal_plan=[];
$i= 0;
foreach($categoryList as $catKey => $row) {
for($k=1;$k<=count($meal_day);$k++) {$menuPlanner=MenuPlanner::where(['day'=>$k,'user_id'=>auth()->user()->id,'category_id'=>$row['id']])->first();
if($menuPlanner) {
$product = Product::where(['id'=>$menuPlanner->product_id])->first();
$meal_plan[$catKey][$k]['product_title']=$product->title;
}
}
}
输出:
array:2 [
0 => array:7 [
1 => array:1 [
"product_title" => "Product 1"
]
2 => array:1 [
"product_title" => ""
]
3 => array:1 [
"product_title" => ""
]
4 => array:1 [
"product_title" => ""
]
5 => array:1 [
"product_title" => ""
]
6 => array:1 [
"product_title" => ""
]
7 => array:1 [
"product_title" => ""
]
]
1 => array:7 [
1 => array:1 [
"product_title" => "Product 2"
]
2 => array:1 [
"product_title" => ""
]
3 => array:1 [
"product_title" => ""
]
4 => array:1 [
"product_title" => ""
]
5 => array:1 [
"product_title" => ""
]
6 => array:1 [
"product_title" => ""
]
7 => array:1 [
"product_title" => ""
]
]
但我首先在菜单规划器中有多个产品
$menuPlanner=MenuPlanner::where(['day'=>$k,'user_id'=>auth()->user()->id,'category_id'=>$row['id']])->get();
foreach($menuPlanner as $menuKey => $menurow) {
$product = Product::where(['id'=>$menurow->product_id])->first();
$meal_plan[$catKey][$k]['product_title']=$product->title;
}
那么我将如何在数组索引中存储多个产品呢?
解决方案
索引['product_title']
必须被视为一个数组,并且在该数组中,产品标题必须使用array_push
.
通过这种方式,您可以拥有多个产品标题。
看下面的例子:
<?php
$menuPlanner=MenuPlanner::where(['day'=>$k,'user_id'=>auth()->user()->id,'category_id'=>$row['id']])->get();
//DECLARE THE INDEX AS AN ARRAY
$meal_plan[$catKey][$k]['product_title'] = array();
foreach($menuPlanner as $menuKey => $menurow)
{
$product = Product::where(['id'=>$menurow->product_id])->first();
//PUSH TITLE INTO THE ARRAY
array_push($meal_plan[$catKey][$k]['product_title'], $product->title);
}
?>
推荐阅读
- angular - 如何取消 Angular 6 上正在进行的 HttpClient 请求
- c# - Asp.NET Core MVC 基于角色的授权
- symfony - Symfony,Twig:无法使用类 js-datetimepicker 将当前日期时间分配给输入
- asp.net - *ngFor 不显示任何数据
- javascript - 如何固定创建地图和附近的 div,以便 div 的内容随着滚动而移动?
- loops - JMeter while循环(使用自己的索引停止循环)
- automated-tests - Gitlab 和 Katalon Studio - 源 Git 存储库为空
- ios - 在 Swift 4 中为 iOS 相机手动设置曝光
- c++ - GetMessage 从任务栏关闭时未收到 WM_QUIT
- python - Pythonunit test:测试执行后的输出应该显示在日志中