将数组编码为JSON时,PHP输出NULL

将数组编码为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"

我有一个PHP数组,我想将其编码为JSON,以便稍后在JavaScript文件中传递它

当我尝试这样做时,JavaScript输出:

“SyntaxError:意外的令牌N”

然后我尝试在PHP中回显这个JSON字符串,它输出:

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()
函数究竟返回什么,我的意思是它返回数组、字符串、数字吗?请用足够的信息更新您的问题。