Я хотел бы preg_match число, которое кратно 6.5.
Например: 1300% 6.5 == 0
Я проверяю это выражение, но это неправильно
$pattern = '/(6.5)(?:\1)?$/';
$number = 1300;
$matches = preg_match($pattern, $number);
echo $matches;
Почему вы пытаетесь использовать строковые манипуляции для математических операций?
Сначала я думал, что модулем будет путь, но он получил неожиданные результаты из-за поплавка (6.5).
Вы могли бы сделать что-то вроде:
$x = (1300 / 6.5);
// If we end up with a decimal at all, then the divisor did not go into the dividend evenly
$divisible = (false !== stripos($x, '.') ? false: true;
Я думал, что было бы проще использовать is_float
, но он возвращает true, независимо от того, будет ли 6.5 is_float
в 1300 равномерно, потому что результат будет is_float
из-за 6.5.