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

Reply via email to