rest_are_values_equal

函式
rest_are_values_equal ( $value1, $value2 )
引數
  • (mixed) $value1 The first value to check.
    Required:
  • (mixed) $value2 The second value to check.
    Required:
返回值
  • (bool) True if the values are equal or false otherwise.
定義位置
相關方法
rest_stabilize_valuerest_validate_enumrest_sanitize_value_from_schemarest_validate_value_from_schemarest_parse_date
引入
5.7.0
棄用
-

rest_are_values_equal: 這是一個檢查兩個值是否相等的實用函式。它在REST API中被用來在驗證請求時比較數值。

按照JSON Schema的語義,檢查兩個值的相等。

物件的屬性順序被忽略。

數值必須事先被淨化/強制為其原始型別。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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;
}
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; }
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;
}

常見問題

FAQs
檢視更多 >