php数组转成json格式的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了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中include和require的区别实例分析

先编辑command.php文件 echo 'hello'.PHP_EOL; 然后编辑console.php文件 for($i=1;$i<=3;++$i){ requ...

PHP实现批量重命名某个文件夹下所有文件的方法

本文实例讲述了PHP实现批量重命名某个文件夹下所有文件的方法。分享给大家供大家参考,具体如下: 自己手动这样一个个的重命名,累啊。所以还是偷懒一下。 我重命名的规则是把所有有空格的全部替...

php删除指定目录的方法

本文实例讲述了php删除指定目录的方法。分享给大家供大家参考。具体分析如下: 这段代码可实现递归删除子目录的功能 <?php /** * Delete a file,...

php 随机数的产生、页面跳转、件读写、文件重命名、switch语句

复制代码 代码如下:<?php num = rand(1,5); witch($num){ case 1: $fp1=fopen("f1.dat",'r'); $oname = f...

降低PHP Redis内存占用

降低PHP Redis内存占用

1、降低redis内存占用的优点  1、有助于减少创建快照和加载快照所用的时间  2、提升载入AOF文件和重写AOF文件时的效率  3、缩短从服务器进行同步所需的时间  4、无需添加额外...