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程序设计有所帮助。