Php 数组和if-else语句问题
我有两个表单,如果第一个表单的Php 数组和if-else语句问题,php,arrays,if-statement,Php,Arrays,If Statement,我有两个表单,如果第一个表单的$\u POST['submit']被单击,则加载第二个表单,并为一个数组分配第一个表单的$POST数据,否则,如果第二个表单的$\u POST['submit']被按下,则同一个数组这次需要从第二个表单的$POST添加元素,但问题是,只要执行elseif,我的数组就会变空。我尝试通过引用传递数组,但这对我没有帮助 if(isset(btn_Of_Form1)) { echo "form2"; $my_arr =$_POST; } elseif(bt
$\u POST['submit']
被单击,则加载第二个表单,并为一个数组分配第一个表单的$POST数据,否则,如果第二个表单的$\u POST['submit']
被按下,则同一个数组这次需要从第二个表单的$POST添加元素,但问题是,只要执行elseif
,我的数组就会变空。我尝试通过引用传递数组,但这对我没有帮助
if(isset(btn_Of_Form1)) {
echo "form2"; $my_arr =$_POST;
}
elseif(btn_of_Form2){
$my_arr =array_merge($my_arr,$_POST);
}
您可以使用
$\u会话
和序列化
:
session_start();
if(isset(btn_Of_Form1))
{
echo "form2";
$_SESSION['data'] = serialize($_POST);
}
elseif(btn_of_Form2)
{
$my_arr = unserialize($_SESSION['data']);
$my_arr = array_merge($my_arr,$_POST);
}
... 你确定你的代码是这样的吗?不,我在if-else语句之间添加了两种形式,但代码很长,所以我没有粘贴它。我这样问是因为你的变量没有美元符号。对不起,我只是举了个例子:if(isset($btn_Of_Form1)){echo$form2;$my_arr=$\u POST;}elseif($btn_Of_form2){$my_arr=array\u merge($my_arr,$_POST);)我的问题是我无法在数组中保存第一个表单$\u POST的值。一旦实现了$\u POST second submit,数组中就只有第二个$\u POST数组的值,这很明显,但是有任何解决方法。在每一篇文章中,您都会丢失以前的文章。解决方法是将其保存在$\u SESSION varable中,然后从那里合并。@user916625:如果这是最佳答案,您应该单击复选标记。