結果から 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;
}
私は私の金髪の瞬間の1つを持っていると思うので、これを行うためのきれいな方法はありますか? どうもありがとう。