JSON用法之将PHP数组转JS数组,JS如何接收PHP数组_PHP

php中文网
发布: 2016-05-30 08:44:26
原创
1143人浏览过

首先下载下面这个文件(这是一段是别人写出来专门解析json的代码),然后引入这个文件!

    http://pan.baidu.com/s/1dD8qVr7

    现在当我们需要用ajax与后台进行交互时,怎样将php的数组传送到js文件并且并js所识别?

    先看php文件,当我们获取到$arr这个数组后

foreach ($arr as $value) {
  $json .= json_encode($value) . ',';
} 
echo '[' . substr($json,0,strlen($json) - 1) . ']';
登录后复制

json_encode()是将$arr的每一个值进行json编码,然后我们想输出一个json的数组,所以我们将每个编译后的值后面加一个逗号并且最后在所有值外面加上'[]',这是json数组的格式,注意因为我们在将每一个值进行json编码后都加上一个逗号在后面,这样就导致最后所有值合并数组时多一个逗号,所有我们得用substr()函数将其最后一个逗号去掉!

立即学习PHP免费学习笔记(深入)”;

    然后我们来看js文件

当我们用arr接受到php文件传输的json数组后

var json = JSON.parse(arr);
登录后复制

JSON是咱们开始下载那个文件中定义的一个对象,我们用它的parse方法将json数组转化成js的数组!这是变量json接受到的是一个js数组所以直接不能打印出来,你可以遍历这个json数组或者json[0]来输出!

MagicArena
MagicArena

字节跳动推出的视觉大模型对战平台

MagicArena 163
查看详情 MagicArena

其实,说白了咱们将php数组转化成js数组的思路就是利用json这个中间量来实现!当然你也可以只用php和js来实现数组的转化,方法不止一种!

代码如下:


{“name”:”Eric”,”age”:23}

再看下面的例子:

$array = array(0 => "Eric", 1 => 23); 
echo json_encode($array);
登录后复制

程序将打印出 :["Eric",23]

以上两个例子可以看出,如果PHP数组的键都是数字,那么json_encode()返回一个数组形式的Json,如果PHP数组的键全是字符串。那么json_encode()就会返回一个对象形式的Json。刚已经说过。两者在js中的调用是不同的。

事实上,只要在PHP数组的键中有一个字符串形式的键,那么json_encode()就会返回对象形式的Json。这是不正确的。因为,虽然在PHP代码中不会出现错误,但要是将这样的Json传给JS函数,JS会将此Json当做一个对象,而对象是不可能以数字作为属性名的。也就是说JS 不知道这是什么 : user.0.username  (中间是数字零)

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号