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实现验证码功能
Oct 09 PHP
做一个有下拉功能的留言版
Oct 09 PHP
php中转义mysql语句的实现代码
Jun 24 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
May 12 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
PHP加密解密实例分析
Dec 25 PHP
ThinkPHP中where()使用方法详解
Apr 19 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 PHP
thinkPHP5.0框架安装教程
Mar 25 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
Nov 17 PHP
PHP实现的多进程控制demo示例
Jul 22 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
解析左右值无限分类的实现算法
2013/06/20 PHP
php数组中包含中文的排序方法
2014/06/03 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
Thinkphp极验滑动验证码实现步骤解析
2020/11/24 PHP
10个基于浏览器的JavaScript调试工具分享
2013/02/07 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
javascript制作loading动画效果 loading效果
2014/01/14 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
javascript字符串循环匹配实例分析
2015/07/17 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
解析Vue2 dist 目录下各个文件的区别
2017/11/22 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
vue实现拖拽效果
2019/12/23 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
Python实现把回车符\r\n转换成\n
2015/04/23 Python
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
Python2与Python3的区别实例总结
2019/04/17 Python
Python错误的处理方法
2020/06/23 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
python 基于Apscheduler实现定时任务
2020/12/15 Python
python 基于opencv操作摄像头
2020/12/24 Python
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
咖啡店自主创业商业计划书
2014/01/22 职场文书
酒店优秀员工事迹材料
2014/06/02 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
毕业实习计划书
2015/01/16 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS