wp_fuzzy_number_match()
Проверяет, насколько два числа близки друг к другу с учётом допустимой погрешности.
Функция сравнивает ожидаемое значение с фактическим и считает их совпадающими, если разница между ними не больше указанной точности.
Это удобно, когда нужно сравнить числа с плавающей точкой, где небольшая погрешность допустима.
Важно: функция не округляет числа. Она просто считает абсолютную разницу между ними и сравнивает её с $precision.
Основа для: image_resize_dimensions()
Хуков нет.
Возвращает
true|false.
true— числа отличаются не больше, чем на указанную точность.false— разница между числами больше.
Использование
wp_fuzzy_number_match( $expected, $actual, $precision );
- $expected(int|float) (обязательный)
- Ожидаемое значение.
- $actual(int|float) (обязательный)
- Фактическое значение, которое нужно сравнить с ожидаемым.
- $precision(int|float)
- Допустимая разница между числами.
По умолчанию: 1
Примеры
#1 Проверка чисел с точностью по умолчанию
Числа считаются совпадающими, потому что разница между ними меньше или равна 1.
$expected = 100;
$actual = 100.8;
if ( wp_fuzzy_number_match( $expected, $actual ) ) {
echo 'Числа достаточно близки.';
} #2 Проверка с более строгой точностью
В этом примере числа должны отличаться не больше чем на 0.1.
$expected = 10.5;
$actual = 10.55;
if ( wp_fuzzy_number_match( $expected, $actual, 0.1 ) ) {
echo 'Значение подходит.';
} else {
echo 'Значение слишком сильно отличается.';
} #3 Сравнение результата вычисления
Полезно при работе с дробными числами, где результат может немного отличаться из-за особенностей вычислений.
$expected_total = 19.99;
$actual_total = 20 - 0.01;
if ( wp_fuzzy_number_match( $expected_total, $actual_total, 0.001 ) ) {
echo 'Итоговая сумма совпадает.';
}
Список изменений
| С версии 5.3.0 | Введена. |
Код wp_fuzzy_number_match() wp fuzzy number match WP 7.0
function wp_fuzzy_number_match( $expected, $actual, $precision = 1 ) {
return abs( (float) $expected - (float) $actual ) <= $precision;
}