php的json输出中的未定义变量
我只是不明白我的代码有什么问题 在浏览器中,它显示未定义的变量 但是我以前在一个while循环中声明过 在浏览器中显示: 注意:未定义的变量:第371行C:\xampp\htdocs\JSONdata.php中的dhkBlood* 我编写的PHP代码如下所示:php的json输出中的未定义变量,php,mysql,arrays,json,Php,Mysql,Arrays,Json,我只是不明白我的代码有什么问题 在浏览器中,它显示未定义的变量 但是我以前在一个while循环中声明过 在浏览器中显示: 注意:未定义的变量:第371行C:\xampp\htdocs\JSONdata.php中的dhkBlood* 我编写的PHP代码如下所示: if($retrieve1){ while($row = mysql_fetch_assoc($retrieve1)) { $dhkBlood[] = array("ID" => $row['P
if($retrieve1){
while($row = mysql_fetch_assoc($retrieve1))
{
$dhkBlood[] = array("ID" => $row['PID'], "PlaceName" => $row['PName'], "Address" => $row['Address'], "DeploymentName" => $row['DName'], "Latitude" => $row['Latitude'], "Longitude" => $row['Longitude']);
}
}
代码:
这里的$retrieve1变量是我用来分配mysql查询的变量,通常从我的数据库中检索信息 添加
$dhkBlood = array();
以前
if($retrieve1){
while($row = mysql_fetch_assoc($retrieve1))
{
$dhkBlood[] = array("ID" => $row['PID'], "PlaceName" => $row['PName'], "Address" => $row['Address'], "DeploymentName" => $row['DName'], "Latitude" => $row['Latitude'], "Longitude" => $row['Longitude']);
}
}
在使用前定义数组,并如上所述在数组中赋值,这就是为什么初始化变量总是一个好的做法(如果您没有定义$dhkBlood并且($retrieve1为false或者您的循环没有行)){您将得到通知};在
if
之前初始化它,如果您正在使用它,而不管您的if
是否每行多生成6个通知,以消除1个通知?这些数组索引应该在引号中,否则它们也会生成通知
if($retrieve1){
while($row = mysql_fetch_assoc($retrieve1))
{
$dhkBlood[] = array("ID" => $row['PID'], "PlaceName" => $row['PName'], "Address" => $row['Address'], "DeploymentName" => $row['DName'], "Latitude" => $row['Latitude'], "Longitude" => $row['Longitude']);
}
}
$dhkBlood = array(); //defined array first
if($retrieve1){
while($row = mysql_fetch_assoc($retrieve1)) {
$dhkBlood[ID] = $row['PID'];
$dhkBlood[PlaceName] = $row['PName'];
$dhkBlood[Address] = $row['Address'];
$dhkBlood[DeploymentName] = $row['DName'];
$dhkBlood[Latitude] = $row['Latitude'];
$dhkBlood[Longitude] = $row['Longitude'];
}
}