from:http://apps.hi.baidu.com/share/detail/17211436
将PHP数组或对象传递给javascript
如果把数组转化成javascript代码的字符串来操作,比较麻烦。
PHP 5.2绑定了JSON扩展,可以比较方便的传递数组或对象给javascript。
JSON是一种字符串的格式,符合JSON格式的字符串可以当作数组或对象直接赋值给javascript。
1、获得数组或对象的JSON格式的字符串
//假设要传递的是一个数组
$hello = array('1','2','3');
/*
json_encode输出JSON格式的字符串,参数就是需要处理的数组或对象
下面的$helloJson,如果此时echo,就会看到他的内容成了 ["1","2","3"]
*/
$helloJson = json_encode($hello);
2、把JSON格式的字符串写入javascript代码
/*
这里为了方便演示,在当前页面以字符串输出javascript代码,其实也可以写入js文件进行调用。
<<<eot 和eot是界定符,他们之间的内容php将会识别为一段大的字符串,相当于""。
也可以用别的名字替代eot,注意别忘了最后的分号。
对于$开头的东西,系统会将他转化成变量的值,比如$helloJson。
*/
echo <<<eot
<script language="JavaScript" type="text/JavaScript">
//在javascript中新建一个对象json_js,输出的代码为var json_js = ["1","2","3"];
var json_js = $helloJson;
//看看效果
//弹出窗口显示1
alert(json_js[0]);
</script>
eot;
如果要传递对象,方法也是一样的,不过涉及php和javascript的面向对象内容,这里不多说了