php数组转换成json
解决方法:
function jsonencode($arr){
$parts = array();
$is_type = false;
$keys = array_keys($arr);
$length = count($arr)-1;
if($keys[0] === 0 && $keys[$length] == $length){
$is_type = true;
for($i=0; $i<count($keys); $i++){
if($i != $keys[$i]){
$is_type = false;
break;
}
}
}
foreach($arr as $key=>$val){
if(is_array($val)){
if($is_type){
$parts[] = jsonencode($val);
}else{
$parts[] = '"' . $key . '":' . jsonencode($val);
}
}else{
$str = '';
if(!$is_type){
$str = '"' . $key . '":';
}
if($val === false){
$str .= 'false';
}else if($val === true){
$str .= 'true';
}else{$str .= '"' . str_replace(array('\\' ,'/', '"') ,
array('\\\\' ,'\\/', '\"'),$val) . '"';
}
$parts[] = $str;
}
}
$json = implode(',', $parts);
$json = str_replace(array("\r", "\n", "\t"), '', $json);
if($is_type)return '[' . $json . ']';
return '{' . $json . '}';
}
本文链接:http://www.yayihouse.com/yayishuwu/chapter/1741