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一些常用的正则表达式字符的一些转换
Jul 29 PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
php mssql扩展SQL查询中文字段名解决方法
Oct 15 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
Jun 21 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
php stream_get_meta_data返回值
Sep 29 PHP
php UNIX时间戳用法详解
Feb 16 PHP
PHP解决中文乱码
Apr 28 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 PHP
如何用RabbitMQ和Swoole实现一个异步任务系统
May 29 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
PHP定时自动生成静态HTML的实现代码
2010/06/20 PHP
php INI配置文件的解析实现分析
2011/01/04 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
js下用eval生成JSON对象
2010/09/17 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
js格式化时间小结
2014/11/03 Javascript
AngularJS的内置过滤器详解
2015/05/14 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
Highcharts学习之数据列
2016/08/03 Javascript
vue双向数据绑定知识点总结
2018/04/18 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
2019/09/05 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
2020/08/03 Python
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
本科生个人求职自荐信
2013/09/26 职场文书
会计毕业生求职简历的自我评价
2013/10/20 职场文书
英文版区域经理求职信
2013/10/23 职场文书
自考自我鉴定范文
2013/10/30 职场文书
财务工作个人求职的自我评价
2013/12/19 职场文书
大学秋游活动方案
2014/02/11 职场文书
化妆品活动策划方案
2014/05/23 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
学习计划是什么
2019/04/30 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
Java基础-封装和继承
2021/07/02 Java/Android