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.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
sql注入与转义的php函数代码
Jun 17 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
php获取域名的google收录示例
Mar 24 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
Jul 01 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
Sep 16 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
PHP传值到不同页面的三种常见方式及php和html之间传值问题
Nov 19 PHP
PHP模板引擎Smarty自定义变量调解器用法
Apr 11 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
PHP设计模式之装饰器模式定义与用法简单示例
Aug 13 PHP
laravel-admin自动生成模块,及相关基础配置方法
Oct 08 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
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
javascript 面向对象全新理练之继承与多态
2009/12/03 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
JS简单实现文件上传实例代码(无需插件)
2013/11/15 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
ES6中的箭头函数实例详解
2017/04/06 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
JS数组方法slice()用法实例分析
2020/01/18 Javascript
python使用递归解决全排列数字示例
2014/02/11 Python
9种python web 程序的部署方式小结
2014/06/30 Python
pandas object格式转float64格式的方法
2018/04/10 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
儿童编程python入门
2018/05/08 Python
对python调用RPC接口的实例详解
2019/01/03 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
python 单线程和异步协程工作方式解析
2019/09/28 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
美国第一香水网站:Perfume.com
2017/01/23 全球购物
美国酒店控股公司:Choice Hotels
2018/06/15 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
学生学习总结的自我评价
2013/10/22 职场文书
个人思想理论学习的自我鉴定
2013/11/30 职场文书
最新大学生创业计划书写作攻略
2014/04/02 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
500字作文之周记
2019/12/13 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS