如何在php中比较字符串中的数字

时间:2014-10-24 23:52:48

标签: php

我有一个字符串:

HELLO WORLD by Adam Smith于1920年出生于1890年;

我怎样才能检查1890年“出生”之后的那一年是否比1920年出版后的年份更大? 感谢

3 个答案:

答案 0 :(得分:0)

要将数字与数字进行比较,请检查: http://php.net/manual/en/language.operators.comparison.php

答案 1 :(得分:0)

正则表达式可以从字符串中提取2个数字,然后比较2个数字。见Extract numbers from a string

答案 2 :(得分:0)

使用正则表达式从字母中提取数字并进行比较:

$str="HELLO WORLD by Adam Smith published 1920 born 1890";
$patt="/\d{4}/";
$res=preg_match_all($patt,$str,$matches);
if($matches[0] > $matches[1]){
    echo 'Year of birth is before year of publishing';
}else{
    echo 'Looks like time travelling: published before even born ...';
}

$匹配保留:     排列     (         [0] =>排列             (                 [0] => 1920                 [1] => 1890年             )     )

preg_match_all函数提取所有4位数字符链并将其放入数组$ matches中。 但你必须确定,这句话没有其他年份(或4位数的叮咬),并且公布的日期是句子中第一个和出生日期的第二个参数。