PHP:尽可能将字符串转换为浮点
在PHP中,我需要编写一个函数,该函数接受一个字符串并尽可能将其转换为浮点,否则只返回输入字符串 我认为这个功能会起作用。显然这个比较是错误的,但我不明白为什么PHP:尽可能将字符串转换为浮点,php,type-conversion,Php,Type Conversion,在PHP中,我需要编写一个函数,该函数接受一个字符串并尽可能将其转换为浮点,否则只返回输入字符串 我认为这个功能会起作用。显然这个比较是错误的,但我不明白为什么 function toNumber ($input) { $num = floatval($input); // Returns O for a string if ($num == $input) { // Not the right comparison? return $num; } els
function toNumber ($input) {
$num = floatval($input); // Returns O for a string
if ($num == $input) { // Not the right comparison?
return $num;
} else {
return $input;
}
}
echo(gettype(toNumber("1"))); // double
echo(gettype(toNumber("3.14159"))); // double
echo(gettype(toNumber("Coco"))); // double (expected: string)
如果我理解正确,最快的事情将是检查$num==0而不是$num==input。如果我理解正确,最快的事情将是检查$num==0而不是$num==input。试试
如果($num){return$num;}否则{return$input}
,这将很好用,它将只跳转到else语句部分,当$num=0时,尝试如果($num){return$num;}否则{return$input}
,这将正常工作,它将只跳转到else语句部分,当$num=0时,检查这个-检查这个-是数值吗?好。。褶边好吧,如果你仔细想想,这是有道理的,不是吗-3这就是PHP的问题所在。太多的内置函数具有不可预测的名称(好吧,不是这一个)!嗯,很公平。不过,像所有字符串函数和所有数字函数一样,基本函数的列表也值得一读或两读。没有那么多…:)这是数字吗?好。。褶边好吧,如果你仔细想想,这是有道理的,不是吗-3这就是PHP的问题所在。太多的内置函数具有不可预测的名称(好吧,不是这一个)!嗯,很公平。不过,像所有字符串函数和所有数字函数一样,基本函数的列表也值得一读或两读。没有那么多…:)
function toNumber($input) {
return is_numeric($input) ? (float)$input : $input;
}