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 相关文章推荐
常用表单验证类,有了这个,一般的验证就都齐了。
Dec 06 PHP
简单说说PHP优化那些事(经验分享)
Nov 27 PHP
PHP实现远程下载文件到本地
May 17 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
php实现Session存储到Redis
Nov 11 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
Apr 02 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
基于PHP实现用户注册登录功能
Oct 14 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
php基于SQLite实现的分页功能示例
Jun 21 PHP
PHP defined()函数的使用图文详解
Jul 20 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生成静态页面详解
2006/12/05 PHP
PHP学习 运算符与运算符优先级
2008/06/15 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php发送与接收流文件的方法
2015/02/11 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
2015/05/27 PHP
基于PHP+mysql实现新闻发布系统的开发
2020/08/06 PHP
jQuery遍历Form示例代码
2013/09/03 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
AngularJs Understanding the Controller Component
2016/09/02 Javascript
基于easyui checkbox 的一些操作处理方法
2017/07/10 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
详解vue-flickity的fullScreen功能实现
2020/04/07 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
Python自动化开发学习之三级菜单制作
2017/07/14 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
python去除字符串中的换行符
2017/10/11 Python
Python 实现子类获取父类的类成员方法
2019/01/11 Python
python元组的概念知识点
2019/11/19 Python
Django框架中间件定义与使用方法案例分析
2019/11/28 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
Python extract及contains方法代码实例
2020/09/11 Python
使用css如何制作时间ICON方法实践
2012/11/12 HTML / CSS
店铺转让协议书(2014版)
2014/09/23 职场文书
安全生产月宣传标语
2014/10/06 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
放假通知范文
2015/04/14 职场文书
酒店圣诞节活动总结
2015/05/06 职场文书
吴仁宝观后感
2015/06/09 职场文书