function _fromArray_getExtractSub($v) { // is it a string, a numerical array or an associative array? $sub = "_fromArray_extract"; if (is_array($v)) { if (_MiniXML_NumKeyArray($v)) { // All numeric - assume it is a "straight" array $sub .= "ARRAY"; } else { $sub .= "AssociativeARRAY"; } } else { $sub .= "STRING"; } return $sub; }
function toStructure() { $retHash = array(); $contents = ""; $numAdded = 0; foreach ($this->xattributes as $attrname => $attrvalue) { $retHash[$attrname] = $attrvalue; $numAdded++; } for ($i = 0; $i < $this->xnumChildren; $i++) { if ($this->isElement($this->xchildren[$i])) { $name = $this->xchildren[$i]->name(); $struct = $this->xchildren[$i]->toStructure(); $existing = NULL; if (isset($retHash[$name])) { $existing =& $retHash[$name]; } if ($existing) { if (_MiniXML_NumKeyArray($existing)) { array_push($existing, $struct); } else { $newArray = array(); array_push($newArray, $existing); array_push($newArray, $struct); $retHash[$name] =& $newArray; } } else { $retHash[$name] = $struct; } $numAdded++; } else { $contents .= $this->xchildren[$i]->getValue(); } } if ($numAdded) { if (!empty($contents)) { $retHash['-content'] = $contents; } return $retHash; } else { return $contents; } }