Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组和if-else语句问题_Php_Arrays_If Statement - Fatal编程技术网

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:如果这是最佳答案,您应该单击复选标记。