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 相关文章推荐
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 PHP
延长phpmyadmin登录时间的方法
Feb 06 PHP
PHP多个版本的分析解释
Jul 21 PHP
探讨PHP调用时间格式的参数详解
Jun 06 PHP
PHP垃圾回收机制引用计数器概念分析
Jun 24 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
用PHP来计算某个目录大小的方法
Apr 01 PHP
codeigniter中测试通过的分页类示例
Apr 17 PHP
浅析ThinkPHP中execute和query方法的区别
Jun 13 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
php5.3后静态绑定用法详解
Nov 11 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
thinkphp如何获取客户端IP
2015/11/03 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
jQuery点击自身以外地方关闭弹出层的简单实例
2013/12/24 Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
2014/04/04 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
JavaScript使用Math.random()生成简单的验证码
2019/01/21 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
python输入整条数据分割存入数组的方法
2018/11/13 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
windows、linux下打包Python3程序详细方法
2020/03/17 Python
keras topN显示,自编写代码案例
2020/07/03 Python
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
html5视频媒体标签video的使用方法及完整参数说明详解
2019/09/27 HTML / CSS
女大学生自我鉴定
2013/12/09 职场文书
计划生育标语
2014/06/23 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2014年维修工作总结
2014/11/22 职场文书
狮子林导游词
2015/02/03 职场文书
文化苦旅读书笔记
2015/06/29 职场文书
护士岗位竞聘书
2015/09/15 职场文书
巾帼建功标兵先进事迹材料
2016/02/29 职场文书
十大最强火系宝可梦,喷火龙上榜,第一名有双火属性
2022/03/18 日漫
图神经网络GNN算法
2022/05/11 Python