Title: WP_View_Config_Data::strip_nulls
Published: August 20, 2026

---

# WP_View_Config_Data::strip_nulls( mixed $value ): mixed

## In this article

 * [Description](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#description)
 * [Parameters](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#wp--skip-link--target)

This function’s access is marked private. This means it is not intended for use 
by plugin or theme developers, only by core. It is listed here for completeness.

Recursively drops every property whose value is `null` from a value.

## 󠀁[Description](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#description)󠁿

set() swaps a named key’s value in wholesale rather than merging it into the current
one, so it has no existing leaf for a nested `null` to delete the way merge() and
replace() do. Stripping nulls here gives a nested `null` the same “drop the property
it names” meaning under set() that it carries everywhere else. The same applies 
to a list replace() swaps in wholesale. A list is renumbered after a member is removed
so removed entries do not leave gaps.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#parameters)󠁿

 `$value`mixedrequired

The value to strip nulls from.

## 󠀁[Return](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#return)󠁿

 mixed The value with every `null` property removed, recursively.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#source)󠁿

    ```php
    private function strip_nulls( $value ) {
    	if ( ! is_array( $value ) ) {
    		return $value;
    	}

    	$result = array();
    	foreach ( $value as $key => $item ) {
    		// A null value drops the property it names.
    		if ( null === $item ) {
    			continue;
    		}

    		$result[ $key ] = $this->strip_nulls( $item );
    	}

    	// Renumber a list so a removed member does not leave a gap.
    	return array_is_list( $value ) ? array_values( $result ) : $result;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/class-wp-view-config-data.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.1/src/wp-includes/class-wp-view-config-data.php#L468)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.1/src/wp-includes/class-wp-view-config-data.php#L468-L485)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#related)󠁿

| Uses | Description | 
| [WP_View_Config_Data::strip_nulls()](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/)`wp-includes/class-wp-view-config-data.php` |

Recursively drops every property whose value is `null` from a value.

  |

| Used by | Description | 
| [WP_View_Config_Data::apply()](https://developer.wordpress.org/reference/classes/wp_view_config_data/apply/)`wp-includes/class-wp-view-config-data.php` |

Applies a patch to the configuration, top-level key by top-level key.

  | 
| [WP_View_Config_Data::strip_nulls()](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/)`wp-includes/class-wp-view-config-data.php` |

Recursively drops every property whose value is `null` from a value.

  | 
| [WP_View_Config_Data::merge_properties()](https://developer.wordpress.org/reference/classes/wp_view_config_data/merge_properties/)`wp-includes/class-wp-view-config-data.php` |

Merges an incoming value into the current one, recursing by value shape.

  | 
| [WP_View_Config_Data::merge_list_by_identity()](https://developer.wordpress.org/reference/classes/wp_view_config_data/merge_list_by_identity/)`wp-includes/class-wp-view-config-data.php` |

Merges an incoming list into the current one by member identity.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_view_config_data/strip_nulls/?output_format=md#changelog)󠁿

| Version | Description | 
| [7.1.0](https://developer.wordpress.org/reference/since/7.1.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_view_config_data%2Fstrip_nulls%2F)
before being able to contribute a note or feedback.