我正在从结果中返回一个 mysql 数组,并希望将结果自动输出到 JSON 返回或 XML 的一部分(包括除此之外的其他内容),并希望使用一个简单的循环函数进行输出。除了数组索引/键的重复之外,它工作得很好。例如:
[23] => 21.00
[cost] => 21.00
[24] => 0.00
[costproduct] => 0.00
[25] => 21.00
[costtotal] => 21.00
我希望它干净而没有重复。我用来循环的简单代码是:
function array_loop_output( $array, $format = 'json', $output = '' ){
if(is_array($array)){
foreach($array as $key => $value){
if(is_array($value)){
if($format == 'xml'){
$output .= '<' . $key . '>';
$output .= array_loop_output( $value, $format );
$output .= '</' . $key . '>';
}else{
$output[$key] = array_loop_output( $value, $format );
}
}else{
if($format == 'xml'){
if(is_numeric($value)){
$output .= xmltagstring(array('tag'=>$key,'value'=>$value))."\n";
}else{
$output .= xmltagstring(array('tag'=>$key,'value'=>$value,'cdata'=>true))."\n";
}
}else{ // json
if(is_numeric($value)){
$output[$key] = $value;
}else{
$output[$key] = forjson($value);
}
}
}
}
}
return $output;
}
有没有一种干净的方法可以做到这一点,因为我认为我有一个金发碧眼的时刻?非常感谢。