On Mon, February 5, 2007 12:27 pm, Matt Carlson wrote: > Over the weekend, I was tasked with taking a string representation of > a directory ('\Interface\Addons\<some dir>\<some file>'), which can > vary in length (no set number of depths) to a multi-dimensional array > (i.e. array('Interface' => array('Addons' => array('<some dir>' => > <somefile>)));). > > We came up with a very ugly hack to do it, but I'm curious if anyone > can help us wrap our head around a better solution, without using eval > (which we were able to find that solution quickly, but do not want to > use eval). > > Our situation is a little unique in the fact that these files don't > actually exist on a filesystem, so it makes it a bit more tough to > actually create this array. > > Thanks for any help you can give in cleaning this up somewhat. > > Here is the function we currently use: > > <?php > > $array = array(); > > addToList('\interface\addons\clearfont\clearfont.toc2', $array); > addToList('\interface\addons\clearfont\clearfont.toc3', $array); > addToList('\interface\addons\clearfont\clearfont.toc4', $array); > addToList('\interface\addons\clearfont\clearfont.toc5', $array); > addToList('\interface\addons\clearfont\subdir\something.toc', $array); function addToList($path){ $parts = explode('\\', $path); $result = array(); $parts = array_reverse($parts); foreach($parts as $part){ //something with array_splice here... $result = array_splice(array($result), $part); //??? } } -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some starving artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php