json_encode在javascript部分出错了

时间:2015-01-19 22:23:50

标签: javascript php arrays json

我在通过json_encode函数将2维PHP数组解析为Javascript时遇到问题。 这就是我填充PHP数组的方式:

if( $result->num_rows > 0 ) {
    $i = 0;
    while( $row = $result->fetch_assoc() ) {
        $idkaart[$i] = array($row["klant_id"],$row["plaats"],$row["land"],$row["mailing"],$row["korting"],$row["tegoed"],$row["status"],
        $row["startdatum"],$row["laatstonline"],$row["kolom"],$row["rij"],$row["fontsize"],$row["overbodenmail"]);
        //echo $idkaart[$i];
        $i += 1;
    }  
}

之后我使用一个简单的双循环来在我的屏幕上显示数组,看它是否正确填充 奇怪的是,当我尝试通过json_encode将其加载到Javascript变量时:var temp = <?php echo json_encode($idkaart[0]); ?>; alert( temp ); 它给了我回复&#39; null&#39;

当我在代码的PHP部分中执行echo json_encode时,它给出了有效的响应。

我已经检查了字符编码等。

我确实编了好几个小时,所以我可能会在这里犯一个菜鸟错误

2 个答案:

答案 0 :(得分:1)

我得到了它,因为我有一个愚蠢的脑屁。

显然Javascript无法正常工作,因为它高于生成数组的PHP代码。我已经修改了Javascript,现在它没有麻烦。

感谢大家为这个愚蠢的错误想出解决方案!

答案 1 :(得分:0)

二维数组适用于PHP。你应该澄清你的问题是什么。是关于来自MySQL的PHP​​数据还是来自HTML的JS。

查看您的html资源以检查数据是否在那里。

<?php
error_reporting(E_ALL);

$a = array(
    array(1,2,3),
    array(1,2,4)
);
echo "<script>var a=";
echo json_encode($a[0]);
echo ";alert(a);</script>";