PHP では、可能な場合は文字列を受け取り、その変換を float に返す関数を作成する必要があります。それ以外の場合は、入力文字列を返すだけです。
この機能は使えると思いました。明らかに比較が間違っていますが、その理由がわかりません。
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)