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

如何將這段代碼翻譯爲PHP?唯一不能翻譯的是第三行的作品,從if開始。從Perl翻譯爲PHP

我該怎麼做?

+0

它可能不適合您的需求,但您應該查看[is_numeric](http://php.net/manual/en/function.is-numeric.php)方法。 – CBusBus 2012-02-13 17:57:23

+1

如果性能至關重要,請將Perl用於這類內容。只是一般的建議。 – AlfredoVR 2012-02-13 17:57:40

回答

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

你錯過了a)在你的php代碼 – 2012-02-13 17:54:55

+0

@ScottHarwell謝謝,編輯。 – 2012-02-13 17:55:34