you can do this with a bit of reference magic... <?php $ref = null; $keys = array("six","five","four","three","two","one"); $val = "string value"; // the node value $arr = array(); // generated array $ref =& $arr; while ($key = array_pop($keys)) { $ref[$key] = array(); $ref =& $ref[$key]; } $ref = $val; var_dump($arr); ?> there might a cleaner/better way - if anyone can correct me I'd be glad to learn :-) Yonatan Ben-Nes wrote: > Hi all, > > I got a problem with creating a multidimensional array which it's size is > unknown. > I already made it work like this (example): > <?php > $array = array('six','five','four','three','two','one'); > > for ($i = count($array)-1; $i >= 0; $i--) { > $array_keys_string_representation .= '["'.$array[$i].'"]'; > } > > eval('$new_array'.$array_keys_string_representation.'["node_title"] = > "string value";'); > ?> > > The problem is that I don't like using eval() cause it's slow & > insecure..... > > I want to do something like this (doesn't work): > <?php > $array = array('six','five','four','three','two','one'); > > for ($i = count($array)-1; $i >= 0; $i--) { > $array_keys_string_representation .= '["'.$array[$i].'"]'; > } > > $new_array.$array_keys_string_representation.'["node_title"] = "string > value"; > ?> > > Anyone got any idea how can I build such an array without eval()? > > Thanks a lot in advance, > Ben-Nes Yonatan > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php