将数组编码为JSON时,PHP输出NULL
我有一个PHP数组,我想将其编码为JSON,以便稍后在JavaScript文件中传递它 当我尝试这样做时,JavaScript输出: “SyntaxError:意外的令牌N” 然后我尝试在PHP中回显这个JSON字符串,它输出:将数组编码为JSON时,PHP输出NULL,php,json,Php,Json,我有一个PHP数组,我想将其编码为JSON,以便稍后在JavaScript文件中传递它 当我尝试这样做时,JavaScript输出: “SyntaxError:意外的令牌N” 然后我尝试在PHP中回显这个JSON字符串,它输出: NULL { "cg": "3", "cb": 0, "cc": "0%", "ci": "0", "wm": 0, "tl": "120" } 为什么会有空值? 这是我的密码: $table = array( "cg"
NULL
{
"cg": "3",
"cb": 0,
"cc": "0%",
"ci": "0",
"wm": 0,
"tl": "120"
}
为什么会有空值?
这是我的密码:
$table = array(
"cg" => $v1,
"cb" => $v2,
"cc" => $v3,
"ci" => $v4,
"wm" => $v5,
"tl" => $v6
);
echo json_encode($table);
编辑以处理评论:
在数据库中,$v1是varchar(255),而$v6是int(11)
按如下方式检索该值:
function fetchinfo($rowname,$tablename,$finder,$findervalue) {
if($finder == "1") $result = mysql_query("SELECT $rowname FROM $tablename");
else $result = mysql_query("SELECT $rowname FROM $tablename WHERE `$finder`='$findervalue'");
$row = mysql_fetch_assoc($result);
return $row[$rowname];
}
但是,情况并非总是如此,有时值可以是一个简单的字符串:
$v6=“120” 假设变量的值如上面的json数据所示,我无法重现错误-似乎没有问题
$v1=3;
$v2=0;
$v3='%0';
$v4=0;
$v5=0;
$v6=120;
$table = array(
"cg" => $v1,
"cb" => $v2,
"cc" => $v3,
"ci" => $v4,
"wm" => $v5,
"tl" => $v6
);
echo json_encode( $table );
/*
{"cg":3,"cb":0,"cc":"%0","ci":0,"wm":0,"tl":120}
*/
变量值是什么,从
$v1
到$v6
?$v1=fetchinfo(“值”、“信息”、“名称”、“gID”)$num=fetchinfo(“数字”、“g”、“id”、$gID)$v6=$num*13;fetchinfo函数从MySQL数据库获取信息,这个fetchinfo()
函数究竟返回什么,我的意思是它返回数组、字符串、数字吗?请用足够的信息更新您的问题。