我试图声明一个全局数组并使用函数将数据放入其中。
仅当全局变量是字符串时才有效,但如果它是数组则不起作用:
$data = iterate("USER361");
print_r($data);
function iterate($username)
{
global $gv_array;
$sql = "select * from account where sponsor = '$username'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$this_user = $row['username'];
$this_name = $row['full_name'];
$this_tier = $row['tier'];
$my_array = array("username"=>$this_user,"name"=>$this_name,"tier"=>$this_tier);
array_push($gv_array[],$my_array);
iterate($row['username']);
}
}//end of iterate
我得到的错误是:
PHP警告:array_push()期望参数1为数组,在第29行的/var/www/html/inc/code.php中给出null
答案 0 :(得分:0)
如果$gv_array
它是一个数组,那么问题就在这里array_push($gv_array[],$my_array);
删除方括号。
array_push($gv_array,$my_array);