php数组转成json格式的方法
2015-03-11来源:

这篇文章主要介绍了php数组转成json格式的方法,实例分析了php操作数组及json格式数据的方法,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

更多信息请查看IT技术专栏

推荐信息
Baidu
map