php数组转成json格式的方法
本文实例讲述了php数组转成json格式的方法。分享给大家供大家参考。具体实现方法如下:
functionarray_to_json($array){ if(!is_array($array)){ returnfalse; } $associative=count(array_diff(array_keys($array),array_keys(array_keys($array)))); if($associative){ $construct=array(); foreach($arrayas$key=>$value){ //Wefirstcopyeachkey/valuepairintoastagingarray, //formattingeachkeyandvalueproperlyaswego. //Formatthekey: if(is_numeric($key)){ $key="key_$key"; } $key="'".addslashes($key)."'"; //Formatthevalue: if(is_array($value)){ $value=array_to_json($value); }elseif(!is_numeric($value)||is_string($value)){ $value="'".addslashes($value)."'"; } //Addtostagingarray: $construct[]="$key:$value"; } //ThenwecollapsethestagingarrayintotheJSONform: $result="{".implode(",",$construct)."}"; }else{//Ifthearrayisavector(notassociative): $construct=array(); foreach($arrayas$value){ //Formatthevalue: if(is_array($value)){ $value=array_to_json($value); }elseif(!is_numeric($value)||is_string($value)){ $value="'".addslashes($value)."'"; } //Addtostagingarray: $construct[]=$value; } //ThenwecollapsethestagingarrayintotheJSONform: $result="[".implode(",",$construct)."]"; } return$result; }
希望本文所述对大家的php程序设计有所帮助。