添加新值

时间:2017-01-17 17:09:08

标签: php arrays

我有一个网页的两个部分,它们将添加到一个数组中,用于安排带有一些插件的约会。这是我的代码,用于将其中一个插件的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数组传递给函数来确定它们是否被添加,我不需要将它们传递到其中任何一个函数中以便它们工作。

0 个答案:

没有答案