在php中检测字符串中的第一个零

时间:2013-09-25 10:16:03

标签: php

function number_check($int){
    if($int>0 && !is_float($int)){return TRUE;}
    else{return FALSE;}
}

$var="025";

if(number_check($var)){echo "pass";}else{echo "fail";}

我已经创建了一个检查帖子ID号码的功能。

post_id应始终为> 0而不是小数。

但是当用户尝试输入000243时出现问题,如果用户将zero放在前面,则返回true

有什么方法可以解决这个问题吗?

4 个答案:

答案 0 :(得分:2)

试试这个:

<?php
echo intval('000243');
?>

答案 1 :(得分:1)

尝试在不使用引号的情况下为$ var赋值。 即$ var = 000243;

答案 2 :(得分:1)

另一种方法是:

function prepareID($id)
{
    $id = preg_replace('/^([0]*)/', '', $id);

    return (int)$id;
}

$var = prepareID("025");

prepareID函数将删除任何前导零,它将返回一个整数

答案 3 :(得分:1)

我认为检查$int{0} != 0将解决您想要实现的目标:

function number_check($int){
    if ( $int > 0 && !is_float($int) && $int{0} != 0 ) {
        return TRUE;
    }
    else {
        return FALSE;
    }
}

$var="023";

if ( number_check($var) ) {
    echo "pass";
} else {
    echo "fail";
}

选中此DEMO