我有一个简单的 foreach 循环,它以以下Y-m-d格式循环当前星期日期:@foreach($dates as $date) <a href="{{route('consols.index', array_merge(\Request::query(), ['date' => date('Y-m-d', strtotime($date))]))}}">{{date('l', strtotime($date))}}</a>@endforeach有了上面,我可以简单地点击锚链接,具体日期将被附加:example.org/consols?date=2020-03-04现在我用它来过滤一个特定的 SQL 查询,我希望能够过滤多个日期。例如:example.org/consols?date=2020-03-04&date=2020-03-05&date=2020-03-06在上面的示例中,我希望发送 3 个日期作为查询参数。如果我只是将另一个附加&date=到已经存在的?date,它只会选择date=查询字符串中的最后一个。如何使用 PHP 在我的 URL 中发送多个具有相同参数名称的变量?
3 回答

慕婉清6462132
TA贡献1804条经验 获得超2个赞
您可以将日期添加为数组,即date[]。
您的网址如下所示:
example.org/consols?date[]=2020-03-04&date[]=2020-03-05&date[]=2020-03-06
当您控制台查询时,它会给您
{ date: [ '2020-03-04', '2020-03-05', '2020-03-06' ] }

30秒到达战场
TA贡献1828条经验 获得超6个赞
我最终查看了 CodyKL链接到的链接,并从那里看到我实际上可以使用http_build_query。
这是我的解决方案:
$url = [];
$dates = isset($_GET['date']) ? $_GET['date'] : null;
if($dates){
foreach($dates as $date){
$url['date'][] = date('Y-m-d', strtotime($date));
}
}
$query = http_build_query($url);
然后我可以简单地重定向到$query.
- 3 回答
- 0 关注
- 144 浏览
添加回答
举报
0/150
提交
取消