我有一个问题,从php进入javascript的会话数组
我在这里设置了sessions数组,print_r
仅用于检查,所以它是正确的
while($row2[]=mysql_fetch_array($result2))
$_SESSION['row2'] = $row2;
print_r($_SESSION['row2'][0][0]);
print_r($_SESSION['row2'][0][1]);
print_r($_SESSION['row2'][0][2]);
在我的javascript中我使用此功能,警报仅用于检查
var row2 =<?php echo json_encode($_SESSION['row2']) ?>;
alert (row2[0][0]);
alert (row2[0][1]);
alert (row2[0][2]);
row2[0][0]
和row2[0][1]
,工作正常,我从数组中获取数字
但是row2[0][2]
给我的值为null,它应该是这个字段中的一些文本,它可以在php代码中与print_r($_SESSION['row2'][0][2]);
一起使用。
答案 0 :(得分:1)
使用firebug控制台或chrome控制台。之后将整个row2
转储到控制台并预览数据。
// JavaScript
var row2 =<?php echo json_encode($_SESSION['row2']) ?>;
console.debug(row2);
另外,请记住,所有PHP关联数组都将成为JSON对象,应使用.
答案 1 :(得分:0)
您必须对Array进行编码,但请记住结果是一个字符串,因此您必须用单引号将其括起来,然后将其解析为一个对象:
var row2 = '<?php echo json_encode($_SESSION['row2']) ?>';
row2 = JSON.parse(row2);
答案 2 :(得分:0)
正如亚历克斯所说,如果你有一个关联数组到PHP,json_encode输出将是不一样的。
这可能是问题吗?由于您似乎不使用关联键,因此您可以避免使用mysql_fetch_array并尝试使用mysql_fetch_row。
(Nb:你的代码很奇怪)