I did something like this recently. Here's how I did it: $some_value1 = 'Hello World'; $myarray['foo']['bar']['green']['apple'] = $some_value1;
function get_opt($arr, $keys,$sep=':') { $var = $arr; $tmp = split($sep,$keys); foreach ($tmp as $k => $v) { $var = $var[$v]; } if (isset($var)) return $var; return ''; } echo get_opt($myarray, 'foo:bar:green:apple'); It needs refining, but it should do the job. That's entirely from memory, mind you.. it should work, though. Mike Martin Towell wrote: >I was thinking that you could use a "pointer to var", eg: > $var = 'myarray["foo"]["bar"]["red"]["apple"]'; > // this would obviously be created dynamically, hard coded for testing > $$var = $some_value1; > echo $myarray["foo"]["bar"]["red"]["apple"]; >but when I tried it, it didn't work :( >looks like eval() to the rescue... > >-----Original Message----- >From: Darren Gamble [mailto:[EMAIL PROTECTED]] >Sent: Tuesday, December 04, 2001 10:37 AM >To: PHP List >Subject: [PHP] Multidimensional array construction > > >Here's a question for the list: > >I have a two-dimensional array; essentially a list of arrays. Each element >(an array) can have any number of elements. As a small example: > >( > ( "foo" , "bar" , "red" , "apple" ), > ( "foo" , "bar" , "red" , "car"), > ( "foo" , "green" ) >) > >I would like to traverse this array and place all of the data into another >multidimensional array. The following statements illustrate how I'd like to >do this from the example: > >$myarray["foo"]["bar"]["red"]["apple"] = $some_value1; >$myarray["foo"]["bar"]["red"]["car"] = $some_value2; >$myarray["foo"]["green"] = $some_value3; > >Is there any way to easily do this in PHP? I could "cheat" and use eval(), >but there is probably a better way. I have thought of using each() or >references, but nothing has come to mind so far. > >Any ideas? Should I just use eval() ? > >============================ >Darren Gamble >Planner, Regional Services >Shaw Cablesystems GP >630 - 3rd Avenue SW >Calgary, Alberta, Canada >T2P 4L4 >(403) 781-4948 > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]