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获得文件扩展名三法
Nov 25 PHP
php一些公用函数的集合
Mar 27 PHP
PHP生成Flash动画的实现代码
Mar 12 PHP
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
Jun 24 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
Jun 26 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
PHP-FPM之Chroot执行环境详解
Aug 03 PHP
php实现当前页面点击下载文件的实例代码
Nov 16 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
php格式文件打开的四种方法
Feb 24 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
Aug 30 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/10/09 PHP
php多个字符串替换成同一个的解决方法
2013/06/18 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
Laravel框架实现redis集群的方法分析
2017/09/14 PHP
从零开始学习jQuery (三) 管理jQuery包装集
2011/02/23 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
详解redux异步操作实践
2018/08/15 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
windows上安装Anaconda和python的教程详解
2017/03/28 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
pygame游戏之旅 创建游戏窗口界面
2018/11/20 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
python调用支付宝支付接口流程
2019/08/15 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
如何基于Python按行合并两个txt
2020/11/03 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
HTML5 canvas基本绘图之填充样式实现
2016/06/27 HTML / CSS
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
解放思想演讲稿
2014/09/11 职场文书
2014年销售员工作总结
2014/12/01 职场文书
会议接待欢迎词范文
2015/01/26 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL