我有一个网页的两个部分,它们将添加到一个数组中,用于安排带有一些插件的约会。这是我的代码,用于将其中一个插件的ID添加到数组中:
if($_POST['marketing'] == '64251'){
$FinalAddons[] = $_POST['marketing'];
}
当我这样做时,我可以立即加载数组的结果并显示该ID,如下所示:
foreach($FinalAddons as $test){
echo '<p>'.$test.'</p>';
}
但是,我还有另一部分包含其他一些插件,无论是否添加它们,都会删除阵列中营销插件的ID。这是我添加其他插件的代码:
foreach($AddlAddons as $addons){
array_push($FinalAddons, $addons);
}
如果我以与营销部分相同的方式打印出来,它会打印出刚刚添加的插件的ID,但它也不会包含已添加的营销的ID。所有这些都被添加到同一个数组中,但似乎第二个插件部分覆盖了第一部分。如何修复它以便它只是添加到数组而不是覆盖它?
更新:那么,让我澄清一下如何将值添加到数组中。添加到数组中的各个值存在于两个不同的函数中,但是,这些值通过Jquery AJAX传递给PHP切换部分,这是实际添加值的位置。我将链接开关部分的一小部分,它存在于所有功能之外(&#39; func&#39;是POST用来确定使用哪个开关的原因):
$FinalAddons = array();
if(isset($_POST['func']) && !empty($_POST['func'])){
switch($_POST['func']){
case 'addlChoices':
$AddonKeys = array_keys($_POST);
foreach($AddlAddons as $addons){
if($addons == 'func'){continue;}
array_push($FinalAddons, $addons);
}
AdditionalDetails($FinalAddons);
break;
case 'Marketing':
if($_POST['marketing'] == '64251'){
$FinalAddons[] = $_POST['marketing];
}
addons($FinalAddons);
break;
}
}
我也只是将$ FinalAddons数组传递给函数来确定它们是否被添加,我不需要将它们传递到其中任何一个函数中以便它们工作。