根据用户输入创建动态多重关联数组
Create a dynamic multiple associative array based on user inputs
我正在根据用户输入动态创建一个关联数组,因为我要将它用于我的查询生成器(批量插入)。我创建了一个日期数组,我想将其值用作空数组的键值对。
我试过了$array['dates'] = $date->format('D');
public function store(Request $request)
{
$from = $request->input('from');
$to = $request->input('to');
$name = $request->input('name');
$days= [];
$startDate = Carbon::parse($from); //parse date to be iterated below
$endDate = Carbon::parse($to); // same as above
// return $startDate->format('D');
for ($date = $startDate; $date->lte($endDate); $date->addDay()) {
$days['schedule_date'] = $date->format('D');
}
dd($days);
}
但我得到的结果只有 1。
Array ( [schedule_date] => Wed )
我期待 31 个结果
问题是你总是分配给同一个数组元素:
$days['schedule_date'] = $date->format('D');
你有一个数组 $days
,其中有一个键 schedule_date
;您只是在每次迭代时替换此值。
根据你想要的输出形状,你可以像这样推送到数组:
$days[] = $date->format('D');
这将产生一个简单的数组(不是关联数组),例如:
['Mon', 'Tue', 'Wed']
如果您需要 schedule_date
键本身是一个数组,请这样做:
$days['schedule_date'][] = $date->format('D');
我正在根据用户输入动态创建一个关联数组,因为我要将它用于我的查询生成器(批量插入)。我创建了一个日期数组,我想将其值用作空数组的键值对。
我试过了$array['dates'] = $date->format('D');
public function store(Request $request)
{
$from = $request->input('from');
$to = $request->input('to');
$name = $request->input('name');
$days= [];
$startDate = Carbon::parse($from); //parse date to be iterated below
$endDate = Carbon::parse($to); // same as above
// return $startDate->format('D');
for ($date = $startDate; $date->lte($endDate); $date->addDay()) {
$days['schedule_date'] = $date->format('D');
}
dd($days);
}
但我得到的结果只有 1。
Array ( [schedule_date] => Wed )
我期待 31 个结果
问题是你总是分配给同一个数组元素:
$days['schedule_date'] = $date->format('D');
你有一个数组 $days
,其中有一个键 schedule_date
;您只是在每次迭代时替换此值。
根据你想要的输出形状,你可以像这样推送到数组:
$days[] = $date->format('D');
这将产生一个简单的数组(不是关联数组),例如:
['Mon', 'Tue', 'Wed']
如果您需要 schedule_date
键本身是一个数组,请这样做:
$days['schedule_date'][] = $date->format('D');