Php 如何在foreach循环中将数组附加到关联数组
我在foreach循环之外声明了一个数组,我使用它向数组添加值。现在,它将在每个循环期间覆盖数组中的值。目标是不覆盖,而是将值附加到数组中,因此当foreach循环完成时,我将获得完整的值,而不是上一个循环中的值。这是一个例子Php 如何在foreach循环中将数组附加到关联数组,php,arrays,Php,Arrays,我在foreach循环之外声明了一个数组,我使用它向数组添加值。现在,它将在每个循环期间覆盖数组中的值。目标是不覆盖,而是将值附加到数组中,因此当foreach循环完成时,我将获得完整的值,而不是上一个循环中的值。这是一个例子 $vars = array( 'year' => null, 'make' => null, 'model' => null ); 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
,如果它包含重复的值,则会有所帮助。