php数组转成json格式的方法
更新时间:2015年03月09日 12:15:23 作者:panloon
这篇文章主要介绍了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;
}
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计划任务之ignore_user_abort函数实现方法
这篇文章主要介绍了php计划任务之ignore_user_abort函数实现方法,以实例形式分析了php计划任务的ignore_user_abort函数实现方法,并对ignore_user_abort函数的用法进行了较为详尽的分析说明,需要的朋友可以参考下2015-01-01
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?在php运行环境配置中用得到,究竟哪种更适合网站。2011-10-10
通过chrome浏览器控制台(Console)进行PHP Debug的方法
这篇文章主要介绍了利用chrome浏览器控制台(Console)进行PHP Debug,需要的朋友可以参考下2016-10-10


最新评论