Я ищу функцию, которая будет отличать числовую строку в виде целого или плавающего типа в зависимости от содержимого строки, например. «1.23» -> float 1.23, «123» -> int 123.Строка string или int или float
Я знаю, что могу использовать if-s с is_int, is_float и применять к соответствующим типам - но, может быть, есть функция, которая сделает это автоматически?
Это очень интересное решение. Я думал о маршруте «тройной if», чтобы обнаружить наличие «.», А затем используя '(int)' или '(float)'. У вас очень элегантное решение, но я бы склонен комментировать код, поскольку для читателя это не очевидно, что он делает. –
Если вы предпочитаете, вы можете создать функцию с названием «castToNumber». 'function castToNumber ($ genericStringNumber) {return $ genericStringNumber + 0; } ' – antoox
Имейте в виду, что очень большие целые числа будут преобразованы в float при использовании этого метода, в зависимости от настройки PHP_INT_MAX для вашей системы. – Rogier