/** * make sure the array only contains one level depth * @param $pParamHash contains a nested set of arrays with structure_id and pos values set * @return flattened array */ function flattenStructureHash($pParamHash, $i = -10000) { $ret = array(); foreach ($pParamHash as $key => $node) { if (!empty($node) && count($node) > 2) { $ret = array_merge($ret, LibertyStructure::flattenStructureHash($node, $i)); $i++; } elseif (count($node) == 2) { $ret[] = $node; $i++; } else { $ret[$i][$key] = $node; } } return $ret; }