<?phpfunctionarray_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){// 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);}elseif(!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($arrayas$value){// Format the value:if(is_array($value)){$value=array_to_json($value);}elseif(!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;}?>