wpseek.com
A WordPress-centric search engine for devs and theme authors



rest_are_values_equal › WordPress Function

Since5.7.0
Deprecatedn/a
rest_are_values_equal ( $value1, $value2 )
Parameters: (2)
  • (mixed) $value1 The first value to check.
    Required: Yes
  • (mixed) $value2 The second value to check.
    Required: Yes
Returns:
  • (bool) True if the values are equal or false otherwise.
Defined at:
Codex:

Checks the equality of two values, following JSON Schema semantics.

Property order is ignored for objects. Values must have been previously sanitized/coerced to their native types.


Source

function rest_are_values_equal( $value1, $value2 ) {
	if ( is_array( $value1 ) && is_array( $value2 ) ) {
		if ( count( $value1 ) !== count( $value2 ) ) {
			return false;
		}

		foreach ( $value1 as $index => $value ) {
			if ( ! array_key_exists( $index, $value2 ) || ! rest_are_values_equal( $value, $value2[ $index ] ) ) {
				return false;
			}
		}

		return true;
	}

	if ( is_int( $value1 ) && is_float( $value2 )
		|| is_float( $value1 ) && is_int( $value2 )
	) {
		return (float) $value1 === (float) $value2;
	}

	return $value1 === $value2;
}