【问题标题】:How to check if the number has 4 digital如何检查号码是否有4位数字
【发布时间】:2016-10-22 12:06:38
【问题描述】:

可以说我有以下价值,我想拥有岁月

July 1967 USA
14 March 1979 France
23 June 1976 France
from the 21 October 2016

假设这个值是 $year2 我正在使用 is_numeric 但没有像往常一样给出正确的结果可以使用 preg_replace

            $year2 = explode(" ",$year1);
            if (!is_numeric($year2[2])) {

                if ( ! isset($year2[1])) {
                 $year2[1] = null;
                 }
            $year =  $year2[1];
            } else {
                 if ( ! isset($year2[2])) {
                 $year2[2] = null;
                 }
                $year =  $year2[2];
                }
            }

echo $year;

输出有时是日期 ex: 21 而不是 2016 年 我试过这个没有成功$year = preg_match('/\d{4}/g',$year2);

【问题讨论】:

标签: php preg-match isnumeric


【解决方案1】:

如果您想从每一行获取年份(我理解您的问题),您可以使用preg_match()

<?php

$values = [
    'July 1967 USA',
    '14 March 1979 France',
    '23 June 1976 France',
    'from the 21 October 2016',  
];
foreach ($values as $value) {
    $pattern = '/(^|\s)(\d{4})(\s|$)/m';
    preg_match($pattern, $value, $match);
    echo $match[2] . "\n";
}

输出:

1967
1979
1976
2016

【讨论】:

    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多