php数组转成json格式的方法


Posted in PHP onMarch 09, 2015

本文实例讲述了php数组转成json格式的方法。分享给大家供大家参考。具体实现方法如下:

function array_to_json( $array ){

    if( !is_array( $array ) ){

        return false;

    }

    $associative = count( array_diff( array_keys($array), array_keys( array_keys( $array )) ));

    if( $associative ){

        $construct = array();

        foreach( $array as $key => $value ){

            // We first copy each key/value pair into a staging array,

            // formatting each key and value properly as we go.

            // Format the key:

            if( is_numeric($key) ){

                $key = "key_$key";

            }

            $key = "'".addslashes($key)."'";

            // Format the value:

            if( is_array( $value )){

                $value = array_to_json( $value );

            } else if( !is_numeric( $value ) || is_string( $value ) ){

                $value = "'".addslashes($value)."'";

            }

            // Add to staging array:

            $construct[] = "$key: $value";

        }

        // Then we collapse the staging array into the JSON form:

        $result = "{ " . implode( ", ", $construct ) . " }";

    } else { // If the array is a vector (not associative):

        $construct = array();

        foreach( $array as $value ){

            // Format the value:

            if( is_array( $value )){

                $value = array_to_json( $value );

            } else if( !is_numeric( $value ) || is_string( $value ) ){

                $value = "'".addslashes($value)."'";

            }

            // Add to staging array:

            $construct[] = $value;

        }

        // Then we collapse the staging array into the JSON form:

        $result = "[ " . implode( ", ", $construct ) . " ]";

    }

    return $result;

}

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
ThinkPHP上使用多说评论插件的方法
Oct 31 PHP
PHP多线程编程之管道通信实例分析
Mar 07 PHP
PHP实现过滤各种HTML标签
May 17 PHP
ThinkPHP安装和设置
Jul 27 PHP
PHP实现获取文件后缀名的几种常用方法
Aug 08 PHP
深入浅析php json 格式控制
Dec 24 PHP
PHP实现linux命令tail -f
Feb 22 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
PHP使用curl函数发送Post请求的注意事项
Nov 26 PHP
PHP实现git部署的方法教程
Dec 19 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 PHP
php实现将数组转换为XML的方法
Mar 09 #PHP
php返回字符串中所有单词的方法
Mar 09 #PHP
php通过正则表达式记取数据来读取xml的方法
Mar 09 #PHP
PHP实现算式验证码和汉字验证码实例
Mar 09 #PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 #PHP
PHP多线程之内部多线程实例分析
Mar 09 #PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 #PHP
You might like
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
网页游戏开发入门教程三(简单程序应用)
2009/11/02 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
实例分析10个PHP常见安全问题
2019/07/09 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
python修改字典内key对应值的方法
2015/07/11 Python
Python排序搜索基本算法之归并排序实例分析
2017/12/08 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
使用jupyter notebook直接打开.md格式的文件
2020/04/10 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
单位创先争优活动方案
2014/01/26 职场文书
爱我中华演讲稿
2014/05/20 职场文书
结婚保证书(卖身契)
2015/02/26 职场文书
2015感人爱情寄语
2015/02/26 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
基于Redission的分布式锁实战
2022/08/14 Redis