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 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
解析php file_exists无效的解决办法
Jun 26 PHP
关于PHP的curl开启问题探讨
Apr 08 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
Dec 25 PHP
Yii框架上传图片用法总结
Mar 28 PHP
注意!PHP 7中不要做的10件事
Sep 18 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
Dec 25 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
PHP实现权限管理功能示例
Sep 22 PHP
PHP使用Nginx实现反向代理
Sep 20 PHP
php数值计算num类简单操作示例
May 15 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
相对路径转化成绝对路径
2007/04/10 PHP
PHP.vs.JAVA
2016/04/29 PHP
网站内容禁止复制和粘贴、另存为的js代码
2014/02/26 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
js编写的treeview使用方法
2016/11/11 Javascript
原生js 封装get ,post, delete 请求的实例
2017/08/11 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
jquery实现的放大镜效果示例
2020/02/24 jQuery
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
[02:26]2016国际邀请赛8月3日开战 中国军团出征西雅图
2016/08/02 DOTA
Python完全新手教程
2007/02/08 Python
python 中的列表解析和生成表达式
2011/03/10 Python
Python随机生成信用卡卡号的实现方法
2015/05/14 Python
python方向键控制上下左右代码
2018/01/20 Python
python实现内存监控系统
2021/03/07 Python
django连接mysql配置方法总结(推荐)
2018/08/18 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
python被修饰的函数消失问题解决(基于wraps函数)
2019/11/04 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
Python爬虫爬取ts碎片视频+验证码登录功能
2021/02/22 Python
全面总结使用CSS实现水平垂直居中效果的方法
2016/03/10 HTML / CSS
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
最新茶叶店创业计划书
2014/01/14 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
慰问信模板
2015/02/14 职场文书
杨善洲观后感
2015/06/04 职场文书