danielebarchiesi@4: content_header = 'application/json'; danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /* */ danielebarchiesi@4: danielebarchiesi@4: function getSerializedArray($struct, $ind = '') { danielebarchiesi@4: $n = "\n"; danielebarchiesi@4: if (function_exists('json_encode')) return str_replace('","', '",' . $n . '"', str_replace("\/","/",json_encode($struct))); danielebarchiesi@4: $r = ''; danielebarchiesi@4: $from = array("\\", "\r", "\t", "\n", '"', "\b", "\f"); danielebarchiesi@4: $to = array('\\\\', '\r', '\t', '\n', '\"', '\b', '\f'); danielebarchiesi@4: $is_flat = $this->isAssociativeArray($struct) ? 0 : 1; danielebarchiesi@4: foreach ($struct as $k => $v) { danielebarchiesi@4: $r .= $r ? ',' . $n . $ind . $ind : $ind . $ind; danielebarchiesi@4: $r .= $is_flat ? '' : '"' . $k . '": '; danielebarchiesi@4: $r .= is_array($v) ? $this->getSerializedArray($v, $ind . ' ') : '"' . str_replace($from, $to, $v) . '"'; danielebarchiesi@4: } danielebarchiesi@4: return $is_flat ? $ind . '[' . $n . $r . $n . $ind . ']' : $ind . '{' . $n . $r . $n . $ind . '}'; danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /* */ danielebarchiesi@4: danielebarchiesi@4: function isAssociativeArray($v) { danielebarchiesi@4: foreach (array_keys($v) as $k => $val) { danielebarchiesi@4: if ($k !== $val) return 1; danielebarchiesi@4: } danielebarchiesi@4: return 0; danielebarchiesi@4: } danielebarchiesi@4: danielebarchiesi@4: /* */ danielebarchiesi@4: danielebarchiesi@4: } danielebarchiesi@4: