为了账号安全,请及时绑定邮箱和手机立即绑定

Foreach 内部 foreach 向数组添加值

Foreach 内部 foreach 向数组添加值

PHP
倚天杖 2021-06-03 18:39:48
在我的项目中,我试图禁用 datepicker 中的预订天数。我有预订表,所有记录的预订都存储在这里。在资产详细信息页面之前,我正在检查预订表中的可用天数。在检查之前,我计算了预订日期之间的日期。问题是,同一个庄园可以有很多预订,但是当我查询时,我只获取预订的第一条记录,因此其他日子显示可用。像下面它只需要预订 1 日期例子Rezervation 1 Dates : 05.05.2019  - 10.05.2019Rezervation 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;    }}
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

如果您正确缩进了代码...


    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;

    }

您会看到return是在外层内foreach(),因此将其移到一层之外,它应该返回所有数据。


        $data = array_unique(array_merge($data,$days));

    }

    return $data;


查看完整回答
反对 回复 2021-06-12
  • 1 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信