Kirki_Helper::array_replace_recursive PHP Method

array_replace_recursive() public static method

Recursive replace in arrays.
public static array_replace_recursive ( array $array, array $array1 ) : mixed
$array array The first array.
$array1 array The second array.
return mixed
        public static function array_replace_recursive($array, $array1)
        {
            if (function_exists('array_replace_recursive')) {
                return array_replace_recursive($array, $array1);
            }
            // Handle the arguments, merge one by one.
            $args = func_get_args();
            $array = $args[0];
            if (!is_array($array)) {
                return $array;
            }
            $count = count($args);
            for ($i = 1; $i < $count; $i++) {
                if (is_array($args[$i])) {
                    $array = self::recurse($array, $args[$i]);
                }
            }
            return $array;
        }

Usage Example

 /**
  * loop through all fields and create an array of style definitions
  */
 public static function loop_controls()
 {
     // Get an instance of the Kirki_Styles_Output_CSS class.
     // This will make sure google fonts and backup fonts are loaded.
     Kirki_Styles_Output_CSS::get_instance();
     $fields = Kirki::$fields;
     $css = array();
     // Early exit if no fields are found.
     if (empty($fields)) {
         return;
     }
     foreach ($fields as $field) {
         // Only continue if $field['output'] is set
         if (isset($field['output']) && !empty($field['output']) && 'background' != $field['type']) {
             if (function_exists('array_replace_recursive')) {
                 $css = array_replace_recursive($css, Kirki_Styles_Output_CSS::css($field));
             } else {
                 $css = Kirki_Helper::array_replace_recursive($css, Kirki_Styles_Output_CSS::css($field));
             }
         }
     }
     if (is_array($css)) {
         return Kirki_Styles_Output_CSS::styles_parse(Kirki_Styles_Output_CSS::add_prefixes($css));
     }
     return;
 }
All Usage Examples Of Kirki_Helper::array_replace_recursive