Php Foreach内部Foreach向数组添加值
在我的项目中,我试图禁用datepicker中的预定天数。 我有预订表所有记录的预订都存储在这里。在“房地产详细信息”页面之前,我正在从预订表中查看可用天数 在检查之前,我计算了预订的间隔日期 问题是,在同一个地产上可能有很多预订,但当我查询时,我只获取了预订的第一个记录,所以其他日期显示可用。如下图所示,只需预订1天 示例Php Foreach内部Foreach向数组添加值,php,Php,在我的项目中,我试图禁用datepicker中的预定天数。 我有预订表所有记录的预订都存储在这里。在“房地产详细信息”页面之前,我正在从预订表中查看可用天数 在检查之前,我计算了预订的间隔日期 问题是,在同一个地产上可能有很多预订,但当我查询时,我只获取了预订的第一个记录,所以其他日期显示可用。如下图所示,只需预订1天 示例 Rezervation 1 Dates : 05.05.2019 - 10.05.2019 Rezervation 2 Dates : 05.05.2019 - 10.
Rezervation 1 Dates : 05.05.2019 - 10.05.2019
Rezervation 2 Dates : 05.05.2019 - 10.05.2019
我试图在foreach内部创建foreach,并试图将数据添加到变量中,但未能成功
我的代码如下
function datebeetween($reservations){
$data = [];
if(!empty($reservations)) {
foreach($reservationsas $rezer){
$days = array();
$start = Carbon\Carbon::parse($rezer['entry_date']);
$end = Carbon\Carbon::parse($rezer['out_date']);
$dateRange = Carbon\CarbonPeriod::create($start, $end);
foreach ($dateRange as $date) {
$days[] = $date->format('d-m-Y');
}
$data[] = $days;
return $data;
}
}else{
return $data;
}
}
如果代码缩进正确
foreach($reservations as $rezer){
$days = array();
$start = Carbon\Carbon::parse($rezer['entry_date']);
$end = Carbon\Carbon::parse($rezer['out_date']);
$dateRange = Carbon\CarbonPeriod::create($start, $end);
foreach ($dateRange as $date) {
$days[] = $date->format('d-m-Y');
}
$data[] = $days;
return $data;
}
您将看到返回的在外部foreach()
的内部,因此将其移到一个级别之外,它将返回所有数据
$data = array_unique(array_merge($data,$days));
}
return $data;
如果代码缩进正确
foreach($reservations as $rezer){
$days = array();
$start = Carbon\Carbon::parse($rezer['entry_date']);
$end = Carbon\Carbon::parse($rezer['out_date']);
$dateRange = Carbon\CarbonPeriod::create($start, $end);
foreach ($dateRange as $date) {
$days[] = $date->format('d-m-Y');
}
$data[] = $days;
return $data;
}
您将看到返回的在外部foreach()
的内部,因此将其移到一个级别之外,它将返回所有数据
$data = array_unique(array_merge($data,$days));
}
return $data;
是的,我的错。我移到了循环之外,但这次它在xside数组中显示数组,如下所示;[[“08-05-2019”、“09-05-2019”、“10-05-2019”、“11-05-2019”]、[“15-05-2019”、“16-05-2019”、“17-05-2019”、“18-05-2019”]]那么您是否需要构建$days
数组,只需将每个项目添加到$data
,或者你想合并两个数组,这样你只有唯一的日期吗?是的,兄弟,确切地说,我想合并两个数组作为唯一的日期我做了一个简单的修复-在上一个代码示例中,我将行更改为$data=array_unique(array_merge($data,$days))非常感谢你,兄弟。现在它的工作如预期:)是的,我的坏。我移到了循环之外,但这次它在xside数组中显示数组,如下所示;[[“08-05-2019”、“09-05-2019”、“10-05-2019”、“11-05-2019”]、[“15-05-2019”、“16-05-2019”、“17-05-2019”、“18-05-2019”]]那么您是否需要构建$days
数组,只需将每个项目添加到$data
,或者你想合并两个数组,这样你只有唯一的日期吗?是的,兄弟,确切地说,我想合并两个数组作为唯一的日期我做了一个简单的修复-在上一个代码示例中,我将行更改为$data=array_unique(array_merge($data,$days))非常感谢你,兄弟。现在它的工作如预期:)