A WordPress-centric search engine for devs and theme authors



rest_get_best_type_for_value ›

Since5.5.0
Deprecatedn/a
rest_get_best_type_for_value ( $value, $types )
Parameters: (2)
  • (mixed) $value The value to check.
    Required: Yes
  • (array) $types The list of possible types.
    Required: Yes
Returns:
  • (string) The best matching type, an empty string if no types match.
Defined at:
Codex:

Gets the best type for a value.



Source

function rest_get_best_type_for_value( $value, $types ) {
	static $checks = array(
		'array'   => 'rest_is_array',
		'object'  => 'rest_is_object',
		'integer' => 'rest_is_integer',
		'number'  => 'is_numeric',
		'boolean' => 'rest_is_boolean',
		'string'  => 'is_string',
		'null'    => 'is_null',
	);

	// Both arrays and objects allow empty strings to be converted to their types.
	// But the best answer for this type is a string.
	if ( '' === $value && in_array( 'string', $types, true ) ) {
		return 'string';
	}

	foreach ( $types as $type ) {
		if ( isset( $checks[ $type ] ) && $checks[ $type ]( $value ) ) {
			return $type;
		}
	}

	return '';
}