WordPress at a glance
function is not described

WP_List_Util::filter() public WP 4.7.0

Filters the list, based on a set of key => value arguments.

{} It's a method of the class: WP_List_Util{}

No Hooks.

Return

Array. Array of found values.

Usage

$WP_List_Util = new WP_List_Util();
$WP_List_Util->filter( $args, $operator );
$args(array)
An array of key => value arguments to match against each object.
Default: empty array
$operator(string)
The logical operation to perform. 'AND' means all elements from the array must match. 'OR' means only one element needs to match. 'NOT' means no elements may match.
Default: 'AND'

Changelog

Since 4.7.0 Introduced.

Code of WP_List_Util::filter() WP 5.5.1

<?php
public function filter( $args = array(), $operator = 'AND' ) {
	if ( empty( $args ) ) {
		return $this->output;
	}

	$operator = strtoupper( $operator );

	if ( ! in_array( $operator, array( 'AND', 'OR', 'NOT' ), true ) ) {
		return array();
	}

	$count    = count( $args );
	$filtered = array();

	foreach ( $this->output as $key => $obj ) {
		$matched = 0;

		foreach ( $args as $m_key => $m_value ) {
			if ( is_array( $obj ) ) {
				// Treat object as an array.
				if ( array_key_exists( $m_key, $obj ) && ( $m_value == $obj[ $m_key ] ) ) {
					$matched++;
				}
			} elseif ( is_object( $obj ) ) {
				// Treat object as an object.
				if ( isset( $obj->{$m_key} ) && ( $m_value == $obj->{$m_key} ) ) {
					$matched++;
				}
			}
		}

		if ( ( 'AND' === $operator && $matched === $count )
			|| ( 'OR' === $operator && $matched > 0 )
			|| ( 'NOT' === $operator && 0 === $matched )
		) {
			$filtered[ $key ] = $obj;
		}
	}

	$this->output = $filtered;

	return $this->output;
}