array_push()期望参数1为数组,给定布尔值

时间:2017-11-12 13:50:49

标签: php arrays

我有这个代码,它应该在同一页面中发送数据,然后将数据推送到数组中。

$array = array();
if (isset($_POST["array"])) { 
   $array=unserialize($_POST["array"]);
}
if (isset($_POST["uname"]) && isset($_POST["upass"])) { 
   array_push($array,$nama=$_POST["uname"]+" "+$pass=$_POST["upass"]);
}
print_r($array);

<form action="" method="POST">
username : <input type="text" name="uname">
password : <input type="password" name="upass">
<input type="hidden" value="<?php serialize($array)?>" name="array">
<input type ="submit">
</form>

然后我收到此错误:

  

array_push()期望参数1是数组,在

中给出布尔值

我如何处理此错误?

1 个答案:

答案 0 :(得分:-1)

首先:&#34;反序列化($ _ POST [&#34; array&#34;]);&#34;。你真的发布序列化数据吗? 我认为,没有,因此unserialize()返回boolean false而不是数组。所以当你把它传递给array_push时,它说$ array是boolean。

发布你的html表单应该填写这个数组。正如上面的评论所述,var_dump($ _ POST [&#34; array&#34;])也会有所帮助。