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作为Shell脚本语言使用
Oct 09 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 PHP
CI(CodeIgniter)框架介绍
Jun 09 PHP
php使用glob函数快速查询指定目录文件的方法
Nov 15 PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 PHP
PHP SplObjectStorage使用实例
May 12 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
php实现网站留言板功能
Nov 04 PHP
Zend Framework实现将session存储在memcache中的方法
Mar 22 PHP
smarty的section嵌套循环用法示例
May 28 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
php实现表单提交上传文件功能
May 28 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网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
2016/09/11 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
jQuery实用基础超详细介绍
2013/04/11 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
详解JavaScript函数对象
2015/11/15 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
JS Canvas定时器模拟动态加载动画
2016/09/17 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
Vue实现手机计算器
2020/08/17 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
python实现学生信息管理系统
2020/04/05 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
Java多线程实现四种方式原理详解
2020/06/02 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
产品销售员岗位职责
2013/12/18 职场文书
《美丽的黄昏》教学反思
2014/02/28 职场文书
高中班主任评语大全
2014/04/25 职场文书
计算机系本科生求职信
2014/05/31 职场文书
建国大业电影观后感
2015/06/01 职场文书
python实现进度条的多种实现
2021/04/29 Python