}
-function ar_first($ar) { return $ar[0]; }
+function ar_first($ar) { return is_array($ar) and count($ar) ? $ar[0] : false; }
function ar_map($return,$array,$as_hash=false) {
$map = array_map(create_function('$a',"return($return);"),$array);
return $html;
}
- /*
- if (preg_match('/^(1)?$/',$this->db->p('header'))) echo $this->{"rows_begin_$format"}($this->fields());
- echo $this->{"rows_rec_$format"}($row);
- echo $this->{"rows_end_$format"}($opt);
+/*
+ Add missing functions for compatibility
*/
+if (!function_exists('array_replace_recursive')) {
+ # http://php.net/manual/en/function.array-replace-recursive.php
+ function array_replace_recursive($array, $array1) {
+ function recurse($array, $array1) {
+ foreach ($array1 as $key => $value) {
+
+ // create new key in $array, if it is empty or not an array
+ if (!isset($array[$key]) || (isset($array[$key]) && !is_array($array[$key]))) {
+ $array[$key] = array();
+ }
+
+ // overwrite the value in the base array
+ if (is_array($value)) {
+ $value = recurse($array[$key], $value);
+ }
+
+ $array[$key] = $value;
+
+ }
+
+ return $array;
+ }
+
+ // handle the arguments, merge one by one
+ $args = func_get_args();
+ $array = $args[0];
+
+ if (!is_array($array)) {
+ return $array;
+ }
+
+ for ($i = 1; $i < count($args); $i++) {
+ if (is_array($args[$i])) {
+ $array = recurse($array, $args[$i]);
+ }
+ }
+
+ return $array;
+ }
+}
?>