php数组转成json格式的方法
发布时间:2020-12-13 02:27:38 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:php数组转成json格式的方法》要点: 本文介绍了PHP实例:php数组转成json格式的方法,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解php数组转成json格式的办法.供大家参考研究.具体实现办法如下: PHP教程 代码如下: function
《PHP实例:php数组转成json格式的方法》要点: 本篇章节讲解php数组转成json格式的办法.分享给大家供大家参考.具体实现办法如下:PHP教程
代码如下:
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实例:php数组转成json格式的方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |