background image

PHP 程序:php 和 js 如何通过 json 互相传递数据

json 是 js 的一种数据格式,可以直接被 js 解析,php 无法直接读取 json 数据,但是 php 提
供了 json_decode 函数来对 json 数据进行转化,从而可以被 php 脚本访问,今天,站长就和
大家一起来探讨这个问题,感兴趣的你可以参考下哦
当我们在结合 php 和 javascript 实现某些功能时,经常会用到 json。json 是 js 的一种数据格
式,可以直接被 js 解析。而 php 无法直接读取 json 数据,但是 php 提供了 json_decode 函数
来对 json 数据进行转化,从而可以被 php 脚本访问。同时,php 也提供了 json_encode 函数
来将数据转化成 json 格式。那么,js 中的原生 json 与 php 中通过 json_encode 函数转化后的
json 是否完全一样呢?今天,站长就和大家一起来探讨这个问题。
 
我们通过 php 向 javascript 传递数组数据时,通常要将其转化为 json 格式,一遍 javascript

 

来获取,那么我们就以数组为例,先来看一下两者之间的区别。
 
1

 

、一维数组

考虑 php

 

数组

代码如下:
 

$array

=

array

("1","2","3"); 

 
使用 json_encode 函数转化后,对应的 json

 

字符串为

代码如下:
 
["1","2","3"]

 

 
细心的朋友很快就发现,转化后得到的 json 字符串,就是 javascript 中的数组形式,那么是
否可以用 js

 

的数组访问方式来访问呢?

当然是可以的,但是你将这个 json 字符串传递给给 js 时,需要使用 urlencode 函数对其编

 

码,如:
代码如下:
 
<a href="javascript:show('<?php echo urlencode(json_encode(array('1','2','3')));?>')" id="aj">访问
json</a> 
 
我们可以用下面的 js

 

代码来验证:

代码如下: