我正在努力建立一个旅游行程系统。用户选择旅行日期,然后可以每天添加项目。
我有一个日期数组,以格式存储在会话中:
array(
(int) 0 => '2012-08-25',
(int) 1 => '2012-08-26',
(int) 2 => '2012-08-27'
)
然后他们将选择景点,我希望以格式存储在数组中:
array(
(int) 0 => array(
'Attraction' => array(
'attraction_id' =>'1',
'name' => 'Place One',
)
),
(int) 1 => array(
'Attraction' => array(
'attraction_id' => '2',
'name' => 'Place Two',
)
),
我希望能够输出:
因此,第一个数组的每个项目都包含一个项目数组,如果这有意义的话。我正在努力解决将days
数组的键与items
数组相关联的逻辑。
我看了array_merge
,但这似乎没有做我需要的。
有没有简单的方法来实现这一目标?
答案 0 :(得分:1)
此代码正是您所要求的。不幸的是,我担心你的问题并没有反映出你的目标。使用键来链接数据将导致1-1关系,因为你似乎需要一个1-n。您应该在吸引力数组中有一个外键字段,例如date_id。
$array= array();
foreach($dates as $date_key=>$date){
$array[$date]=array();
foreach($attractions as $attraction_key=>$attraction){
if($date_key==$attraction_key){
$array[$date][]=$attraction['Attraction']['name'];
}
}
}