Php 如何在foreach循环中将数组附加到关联数组

Php 如何在foreach循环中将数组附加到关联数组,php,arrays,Php,Arrays,我在foreach循环之外声明了一个数组,我使用它向数组添加值。现在,它将在每个循环期间覆盖数组中的值。目标是不覆盖,而是将值附加到数组中,因此当foreach循环完成时,我将获得完整的值,而不是上一个循环中的值。这是一个例子 $vars = array( 'year' => null, 'make' => null, 'model' => null ); foreach (){

我在foreach循环之外声明了一个数组,我使用它向数组添加值。现在,它将在每个循环期间覆盖数组中的值。目标是不覆盖,而是将值附加到数组中,因此当foreach循环完成时,我将获得完整的值,而不是上一个循环中的值。这是一个例子

$vars = array(
            'year' => null,
            'make' => null,
            'model' => null
        );

foreach (){

   $year = array(
     '2000',
     '2001',
     '2002'
  );

 $make = array('honda'); // only 1 value
 $model =  array('accord'); // only 1 value

 // do something here to append $year, $make, $model to the correct key in $vars

}
所以结果应该是这样的

 $vars = array 
 (
                 'year' => array('2000','2001','2002,'2003','2004','2005','2006'),
                 'make' => array('honda','toyota','nissan'),
                 'model' => array('accord','camery','altima')
 )
$vars = array(
'year' => null,
'make' => null,
'model' => null
);
$year = array(
'2000',
'2001',
'2002'
);
$make = array('honda'); // only 1 value
$model = array('accord'); // only 1 value

foreach ($year as $years) {
$vars['year'][] = $years;
}
foreach ($make as $makes) {
$vars['make'][] = $makes;
}
foreach ($model as $models) {
$vars['model'][] = $models;
}
也许在foreach中的某个地方检查并避免插入重复的值会很好。e、 g.没有重复的年份、品牌和型号。

尝试使用-

$vars['year'] = array_merge($var['year'], $year);
make
model

相同,试试这个

 foreach (){

     $year = array('2000','2001','2002');

     $make = array('honda');
     $model =  array('accord'); 

     array_push($vars['year'],$year);
     array_push($vars['make'],$make);
     array_push($vars['model'],$model);

  }

您没有一个公共参数可以在一个foreach()循环中插入所有参数。请尝试更多这样的循环

 $vars = array 
 (
                 'year' => array('2000','2001','2002,'2003','2004','2005','2006'),
                 'make' => array('honda','toyota','nissan'),
                 'model' => array('accord','camery','altima')
 )
$vars = array(
'year' => null,
'make' => null,
'model' => null
);
$year = array(
'2000',
'2001',
'2002'
);
$make = array('honda'); // only 1 value
$model = array('accord'); // only 1 value

foreach ($year as $years) {
$vars['year'][] = $years;
}
foreach ($make as $makes) {
$vars['make'][] = $makes;
}
foreach ($model as $models) {
$vars['model'][] = $models;
}

尝试附加丰田和附加日产;)请调整您的问题几乎没有理由将这些值设置为数组。为了避免重复的值,请检查数组_unique method=>
array_unique
,如果它包含重复的值,则会有所帮助。