【PHP】检测数字字符串is_numeric与ctype_digit的区别



    PHP中有两个函数is_numeric和ctype_digit都是检测字符串是否是数字,但也存在一点区别

    • is_numeric:检测是否为数字字符串,可为负数和小数
    • ctype_digit:检测字符串中的字符是否都是数字,负数和小数会检测不通过

    写了个测试代码测试一下:



    <?php
    $a = '0001111222';
    var_dump($a);
    var_dump(is_numeric($a)); //true
    var_dump(ctype_digit($a)); //true
    $a = '0.1';
    var_dump($a);
    var_dump(is_numeric($a)); //true
    var_dump(ctype_digit($a)); //false
    
    $a = '-1';
    var_dump($a);
    var_dump(is_numeric($a)); //true
    var_dump(ctype_digit($a)); //false
    
    $a = 'a';
    var_dump($a);
    var_dump(is_numeric($a)); //false
    var_dump(ctype_digit($a)); //false
    
    ?>


    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《【PHP】检测数字字符串is_numeric与ctype_digit的区别
    标签:
    分享:

已经有3 条评论抢在你前面了~

  1. 沙发
    2012年10月17日 下午5:43

    牛B,帮了我的忙 谢谢

    [回复]

    晴枫

    晴枫 回复:

    @牛, 有用就好

    [回复]

  2. 板凳
    呱呱歌舞汇 2011年12月29日 下午9:27

    一般我都是用is_numeric

    [回复]

无觅相关文章插件,快速提升流量