"Jochem Maas" <jochem@xxxxxxxxxxxxx> wrote in message news:43399EFC.4030109@xxxxxxxxxxxxxxxx > Mike Dunlop wrote: > > On Sep 27, 2005, at 10:22 AM, Scott Fletcher wrote: > > > >> [code] > >> $array = array(); > >> > >> $array['col1']['col2'] = "Test #1"; > >> $array['col3']['col2'] = "Test #2"; > >> > >> $prefix = "['col3']['col2']"; > >> > >> echo $array.$prefix; //Spitted out result as "Test #2"... > >> [/code] > >> > >> This is the simple code that I'm trying to make it work. Does anyone > >> know > >> how does these work with array? Some help here... > >> > >> Thanks... > >> FletchSOD > >> > > > > echo ${"array".$prefix}; > > > > really? did you test that? > doesn't work when I do it (the second expression does > - but doesn't answer the OPs question actually imho the > answer is not eval() either, because its slow and a security > headache): > > > $array = array(); > $array["col3"]["col2"] = "Test #2"; > $prefix = "[\"col3\"][\"col2\"]"; > echo ${"array".$prefix}, ${"array"}["col3"]["col2"]; > > > > ----------------------------- > try something like this instead?: > (code has been tested) > > function getVal($arr, $path) > { > $retval = null; > > if (!is_array($arr) || empty($arr) || > !is_array($path) || empty($path)) { > return null; > } > > while (count($path)) { > $key = array_shift($path); > if (!isset($arr[ $key ])) { > return null; > } > $retval = $arr[ $key ]; > $arr =& $arr[ $key ]; > } > > return $retval; > } > $ra = array(); > $ra["col3"]["col2"] = "Test #2"; > $path = array("col3","col2"); > echo getVal($ra, $path); > - but doesn't answer the OPs question actually imho the What does the "OP" stand for? Wow, that is really nice. I was hoping the $path would be a string instead of an array but I'll live. It should work with random changes to the $path array (shorter or longer arrays, more keys or less keys, etc). I hope. :-) Thanks... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php