0

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)
4

3 に答える 3

5
function toNumber($input) {
    return is_numeric($input) ? (float)$input : $input;
}
于 2013-03-27T14:59:51.630 に答える
1

if($num){return $num;}else{return $input}$num = 0 の場合、else ステートメント部分にのみジャンプします。

于 2013-03-27T15:05:14.097 に答える
0

私がこれを正しく理解していれば、最も速いのは $num == $input ではなく $num == 0 かどうかをチェックすることです。

于 2013-03-27T14:59:58.193 に答える