Rob, Thanks for your code example however having them as class properties will not work. The main reason is that the default array is created by reading a YAML file. The array is populated by reading a section of a flat file and then it reads a section specific to the current page (if any) and overrides the defaults. Here is the code I have used to accomplish this.
Thanks to every who responded. // parse through an array, $a is the original array and // $b is the new array to merge into it function override($a, $b) { // an array that will hold the new, properly // merged version of the two arrays $new = array(); // if we've encountered numbered keys, this // will be true $numbers = FALSE; // if $a is bigger than $b, lots of code repetition // beyond this point.. ugh. if(count($a) >= count($b)) { // override the arrays if necessary foreach($a as $key => $val) { // if we've found a number, stop the loop if(is_numeric($key)) // dunno why ctype_digit didn't work... { $numbers = TRUE; break; } // otherwise, override the key with a $b value // if it exists. else $new[$key] = isset($b[$key]) ? $b[$key] : $a[$key]; } } // otherwise.. else { // override the arrays if necessary foreach($b as $key => $val) { if(is_numeric($key)) { $numbers = TRUE; break; } // otherwise, override the key with an $a value // if it exists. else $new[$key] = isset($a[$key]) ? $a[$key] : $b[$key]; } } // merge the arrays if they are numbered keys if($numbers) $new = array_merge($a, $b); // loop through the new array and check for sub-arrays foreach($new as $key => $val) { // recursively go through if(is_array($new[$key]) && !$numbers) $new[$key] = $this->override((isset($a[$key]) ? $a[$key] : array()), (isset($b[$key]) ? $b[$key] : array())); } // return the new, merged array return $new; } -- Joseph Crawford Jr. Zend Certified Engineer Codebowl Solutions, Inc. http://www.codebowl.com/ Blog: http://www.josephcrawford.com/ 1-802-671-2021 [EMAIL PROTECTED] _______________________________________________ New York PHP Community Talk Mailing List http://lists.nyphp.org/mailman/listinfo/talk NYPHPCon 2006 Presentations Online http://www.nyphpcon.com Show Your Participation in New York PHP http://www.nyphp.org/show_participation.php