мне нужно действительные числа между 0,00000001 и 999. я использовал preg_match:Почему это preg_match не работает
preg_match('/^[0-9]{1,3}(\.[0-9]{1,8})?$/',0.0000339);
Но я не понимаю, почему он не работает. Если я напишу номер: 0.0001
это работает, но 0.00001
или 0.0000001
не работает, и 0.11111111
возвращает true. Вы можете проверить http://writecodeonline.com/php/ Почему?
Почему бы вам не использовать нормальный, если заявление, как: 'если ($ число <= 999 && $ число> = 0,00000001)'? – Rizier123
Поскольку вы не передаете строку preg_match, но разрешаете PHP преобразовать литерал float '0.0000339' в строку' 3.39E-5'. – mario
Или '$ number <1000 && $ number> 0', если вы просто пытаетесь учесть очень маленькие положительные числа ... – Purag