简明现代魔法 -> PHP服务器脚本 -> 使用Json向JavaScript传值
使用Json向JavaScript传值
2009-12-24
如果把数组转化成javascript代码的字符串来操作,比较麻烦。
PHP 5.2绑定了JSON扩展,可以比较方便的传递数组或对象给javascript。
JSON是一种字符串的格式,符合JSON格式的字符串可以当作数组或对象直接赋值给javascript。
代码
<?php
// 假设要传递的是一个数组
$hello = array('apple','banana','cat');
// print_r($hello);
/*
json_encode输出JSON格式的字符串,参数就是需要处理的数组或对象
下面的$helloJson,如果此时echo,就会看到他的内容成了["apple","banana","cat"]
*/
$helloJson = json_encode($hello);
//echo $helloJson;
/*
这里为了方便演示,在当前页面以字符串输出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;
// 输出内容
document.write(json_js[0]);
// alert(json_js[0]);
</script>
eot;
?>
程序运行结果
如果要传递对象,方法也是一样的,不过涉及php和javascript的面向对象内容。

