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实现与ASP Banner组件相似的类
Oct 09 PHP
php 获取可变函数参数的函数
Aug 26 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 PHP
PHP扩展程序实现守护进程
Apr 16 PHP
php pthreads多线程的安装与使用
Jan 19 PHP
PHP之图片上传类实例代码(加了缩略图)
Jun 30 PHP
ThinkPHP5框架缓存查询操作分析
May 30 PHP
关于laravel后台模板laravel-admin select框的使用详解
Oct 03 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Jan 22 PHP
如何在PHP中生成随机数
Jun 04 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
请离开include_once和require_once
2013/07/18 PHP
javascript 流畅动画实现原理
2009/09/08 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
Python断言assert的用法代码解析
2018/02/03 Python
python PyTorch参数初始化和Finetune
2018/02/11 Python
python实现泊松图像融合
2018/07/26 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
Django开发的简易留言板案例详解
2018/12/04 Python
在python里从协程返回一个值的示例
2019/02/19 Python
用python实现刷点击率的示例代码
2019/02/21 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
Python yield的用法实例分析
2020/03/06 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
如何基于Python按行合并两个txt
2020/11/03 Python
动态密码技术
2012/10/18 面试题
网站编辑求职信
2013/10/17 职场文书
大学生职业生涯规划书模版
2013/12/30 职场文书
大学生收银员求职信分享
2014/01/02 职场文书
电子银行营销方案
2014/02/22 职场文书
股权收购意向书
2014/04/01 职场文书
食品安全责任书
2014/04/15 职场文书
应届毕业生求职信
2014/05/26 职场文书
文艺晚会策划方案
2014/06/11 职场文书
力学专业求职信
2014/07/23 职场文书
群众路线学习心得体会范文
2014/11/05 职场文书
百家讲坛观后感
2015/06/12 职场文书
七一表彰大会简报
2015/07/20 职场文书