2012-02-13 9 views
1
sub numeric_p { 
    local($data) = @_; 
    if ($data =~ /^-?\d*\.?\d*(e\d|e-\d)?\d*$/) { 
     $true; 
    } else { 
     $false; 
    }; 
} 

このコードをどうすればPHPに変換できますか?私が翻訳できないのは、ifで始まる3行目の作品だけです。PerlからPHPへの翻訳

どうすればいいですか?

+0

あなたのニーズには適していないかもしれませんが、[is_numeric](http://php.net/manual/en/function.is-numeric.php)メソッドをチェックしてください。 – CBusBus

+1

パフォーマンスが重大な場合は、この種のものにPerlを使用してください。ちょうど一般的なアドバイス。 – AlfredoVR

答えて

5

これは、$dataが次の正規表現に一致する場合のテストです。それはちょうど、PHPでpreg_match()への呼び出しを次のようになります。

// In Perl 
if ($data =~ /^-?\d*\.?\d*(e\d|e-\d)?\d*$/) 

// In PHP: 
if (preg_match('/^-?\d*\.?\d*(e\d|e-\d)?\d*$/', $data)) 
+0

あなたは、あなたのPHPコードにa)がありませんでした –

+0

@ScottHarwellありがとう、編集されました。 –

1

PHPのpreg_match機能はPerlの=~オペレータと同じ目的を果たします。