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 相关文章推荐
example1.php
Oct 09 PHP
消息持续发送的完整例子
Oct 09 PHP
php intval的测试代码发现问题
Jul 27 PHP
php 数据库字段复用的基本原理与示例
Jul 22 PHP
PHP手机号码归属地查询代码(API接口/mysql)
Sep 04 PHP
php生成局部唯一识别码LUID的代码
Oct 06 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
PHP常用的缓存技术汇总
May 05 PHP
discuz目录文件资料汇总
Dec 30 PHP
yii2带搜索功能的下拉框实例详解
May 12 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
Oct 10 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
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
linux实现php定时执行cron任务详解
2013/12/24 PHP
Yii核心验证器api详解
2016/11/23 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
JS操作CSS随机改变网页背景实现思路
2014/03/10 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
教你用javascript实现随机标签云效果_附代码
2016/03/16 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
WebSocket实现简单客服聊天系统
2017/05/12 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
vue导航栏部分的动态渲染实例
2019/11/01 Javascript
Python 常用的安装Module方式汇总
2017/05/06 Python
python机器人行走步数问题的解决
2018/01/29 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
python实现顺时针打印矩阵
2019/03/02 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
CSS3悬停效果案例应用
2012/11/21 HTML / CSS
css3制作彩色边线3d立体按钮的示例(css3按钮)
2014/05/06 HTML / CSS
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
应届毕业生求职自荐书
2014/01/03 职场文书
简短大学毕业感言
2014/01/18 职场文书
会计电算化专业求职信
2014/06/10 职场文书
2016新年慰问信范文
2015/03/25 职场文书
2015年科普工作总结
2015/07/23 职场文书
导游带团欢迎词
2015/09/30 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
Mysql使用全文索引(FullText index)的实例代码
2022/04/03 MySQL
MySQL安装失败的原因及解决步骤
2022/06/14 MySQL