我有这个数组file_months
,当它添加到文件夹的新月份时会发生变化:
Array
(
[0] => 01
[1] => 02
[2] => 03
)
我想要的是在选择选项中显示所有月份,所以我尝试了这个:
$nbr_mois = array('0'=>'01','1'=>'02','2'=>'03','3'=>'04','4'=>'05','5'=>'06','6'=>'07','7'=>'08','8'=>'09','9'=>'10','10'=>'11','11'=>'12');
foreach ($nbr_mois as $key => $value) {
if($value!=$file_months)
array_push($file_months,$value);
}
但它没有添加缺少的月份,它将它们全部添加!像这样:
Array
(
[0] => 01
[1] => 02
[2] => 03
[3] => 01
[4] => 02
[5] => 03
[6] => 04
[7] => 05
[8] => 06
[9] => 07
[10] => 08
[11] => 09
[12] => 10
[13] => 11
[14] => 12
)
答案 0 :(得分:3)
我认为array_merge
可以在没有循环的情况下为你工作。
答案 1 :(得分:2)
检查密钥是否已存在
$nbr_mois = array('0'=>'01','1'=>'02','2'=>'03','3'=>'04','4'=>'05','5'=>'06','6'=>'07','7'=>'08','8'=>'09','9'=>'10','10'=>'11','11'=>'12');
foreach ($nbr_mois as $key => $value) {
if(!array_key_exists($key, $arrayname) {
if($value!=$file_months)
array_push($file_months,$value);
}
}
答案 2 :(得分:1)
或者只是替换
if($value!=$file_months)
array_push($file_months,$value);
带
if($value!=$file_months[$key])
$file_months[$key] = $value;
答案 3 :(得分:0)
使用in_array
..
而不是
if($value!=$file_months) {
}
使用此..
if(!in_array($value,$file_months)) {
}
答案 4 :(得分:0)
使用in_array()方法,如下所示:
if(!in_array($value, $file_months))
而不是
if($value!=$file_months)