我将根据用户输入动态创建关联数组,因为我将其用于查询构建器(批量插入)。我创建了一个日期数组,并希望将其值用作空数组的键值对。
我确实尝试过$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个结果
答案 0 :(得分:1)
问题是您总是分配给同一数组元素:
$days['schedule_date'] = $date->format('D');
您有一个数组$days
,其键为schedule_date
;您只需在每次迭代中替换该值即可。
根据您想要输出形状的方式,可以像这样将数组推入数组:
$days[] = $date->format('D');
这将产生一个简单的数组(而不是关联数组),例如:
['Mon', 'Tue', 'Wed']
如果您需要将schedule_date
键本身作为数组,请执行以下操作:
$days['schedule_date'][] = $date->format('D');