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 常用字符串函数总结
Mar 15 PHP
在PHP中使用curl_init函数的说明
Nov 02 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
PHP之短标签开启设置
Jun 17 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
php合并js请求的例子
Nov 01 PHP
PHP中单引号与双引号的区别分析
Aug 19 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
PHP抓取及分析网页的方法详解
Apr 26 PHP
php实现基于openssl的加密解密方法
Sep 30 PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 PHP
实例化php类时传参的方法分析
Jun 05 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
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
php中设置index.php文件为只读的方法
2013/02/06 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
php获取图片信息的方法详解
2015/12/10 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
php批量删除操作代码分享
2017/02/26 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
基于JS代码实现导航条弹出式悬浮菜单
2016/06/17 Javascript
uploader秒传图片到服务器完整代码
2017/04/22 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
angularJs中datatable实现代码
2017/06/03 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
python实现代码行数统计示例分享
2014/02/10 Python
Python的subprocess模块总结
2014/11/07 Python
python3大文件解压和基本操作
2017/12/15 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
Python求离散序列导数的示例
2019/07/10 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
Python HTMLTestRunner库安装过程解析
2020/05/25 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
HTML5的一个显示电池状态的API简介
2015/06/18 HTML / CSS
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
机械设计职业生涯规划书
2013/12/27 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
销售目标责任书
2014/07/23 职场文书
优秀大学生申请书
2019/06/24 职场文书
php去除数组中为0的元素的实例分析
2021/11/17 PHP
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS