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 相关文章推荐
基于mysql的bbs设计(一)
Oct 09 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
用php获取远程图片并把它保存到本地的代码
Apr 07 PHP
PHP中的extract的作用分析
Apr 09 PHP
php学习之运算符相关概念
Jun 09 PHP
使用php shell命令合并图片的代码
Jun 23 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
PHP取二进制文件头快速判断文件类型的实现代码
Aug 05 PHP
php函数与传递参数实例分析
Nov 15 PHP
YII Framework框架教程之安全方案详解
Mar 14 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
May 08 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 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
discuz7 phpMysql操作类
2009/06/21 PHP
js的event详解。
2006/09/06 Javascript
javascript 尚未实现错误解决办法
2008/11/27 Javascript
javascript 按回车键相应按钮提交事件
2009/11/02 Javascript
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
Javscript调用iframe框架页面中函数的方法
2014/11/01 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
分离与继承的思想实现图片上传后的预览功能:ImageUploadView
2016/04/07 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
React Native中Navigator的使用方法示例
2017/10/13 Javascript
原生js调用json方法总结
2018/02/22 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
Python 除法小技巧
2008/09/06 Python
Python中的多行注释文档编写风格汇总
2016/06/16 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
Python实现注册、登录小程序功能
2018/09/21 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
实例讲解Python3中abs()函数
2019/02/19 Python
一篇文章了解Python中常见的序列化操作
2019/06/20 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
python实现的config文件读写功能示例
2019/09/24 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
python不同系统中打开方法
2020/06/23 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
python3中确保枚举值代码分析
2020/12/02 Python
数据库什么时候应该被重组
2012/11/02 面试题
大学生军训自我鉴定
2014/02/12 职场文书
遗体告别仪式主持词
2014/03/20 职场文书
社区低保工作总结2015
2015/07/23 职场文书
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js