string flat_map(mapping mp) { mapping carte = ([]); mixed key, val; string retkey, retval, retstring; retstring = ""; carte = expand_keys(mp); foreach( key, val in carte){ if(arrayp(key)){ if(!sizeof(key)) retkey = "BLANK ARRAY"; else retkey = "ARRAY ("+implode(key,", ")+")"; } else if(objectp(key)) retkey = "OBJECT ("+file_name(key)+")"; else if(intp(key)) retkey = ""+key; else retkey = key; if(arrayp(val)){ if(!sizeof(val)) retval = "BLANK ARRAY"; else retval = "ARRAY ("+implode(val,", ")+")"; } else if(objectp(val)) retval = "OBJECT ("+file_name(val)+")"; else if(intp(val)) retval = ""+val; else retval = val; if(!retstring || retstring == "") retstring = retkey+":"+retval; else retstring += ", "+retkey+":"+retval; } return retstring; }