从Perl转换为PHP

时间:2012-02-13 17:51:45

标签: php perl

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

如何将这段代码翻译成PHP?我唯一无法翻译的部分是第3行的作品,以if开头。

我该怎么做?

2 个答案:

答案 0 :(得分: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))

答案 1 :(得分:1)

PHP的preg_match函数与Perl的=~运算符具有相同的用途。