• 技术文章 >后端开发 >PHP问题

    php怎么判断是否为整数字符串

    青灯夜游青灯夜游2023-01-17 18:54:10原创48

    两种判断方法:1、用is_numeric()和strpos()判断字符串是否为不包含小数点的数字字符串,语法“!is_numeric($str)||strpos($str,".")!==false”,返回false则是整数字符串,反之不是。2、用intval()将字符串转为整数值,用“==”运算符判断整数值是否和原字符串相等,语法“intval($str)==$str”。

    本教程操作环境:windows7系统、PHP8版、DELL G3电脑

    php判断一个字符串是否为整数字符串

    方法1:用is_numeric()函数和strpos()函数进行判断

    只需判断字符串是否为不包含小数点的数字字符串即可

    示例:检查字符串“a678”、“3.14”、“67854”是否为整数字符串。

    <?php
    header("Content-type:text/html;charset=utf-8");
    function f($str){
        if(!is_numeric($str)||strpos($str,".")!==false){
          echo "$str 字符串不是整数字符串<br><br>";
        }else{
          echo "$str 字符串是整数字符串<br><br>";
        }
    }
    f("a678");
    f("3.14");
    f("67854");
    ?>

    1.png

    分析:

    说明:

    intval() 函数

    intval() 函数用于获取变量的整数值。

    intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

    int intval ( mixed $var [, int $base = 10 ] )

    参数说明:

    • $var:要转换成 integer 的数量值。

    • $base:转化所使用的进制。

    如果 base 是 0,通过检测 var 的格式来决定使用的进制:

    • 如果字符串包括了 "0x" (或 "0X") 的前缀,使用 16 进制 (hex);否则,

    • 如果字符串以 "0" 开始,使用 8 进制(octal);否则,

    • 将使用 10 进制 (decimal)。

    返回值

    • 成功时返回 var 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1。

    • 最大的值取决于操作系统。 32 位系统最大带符号的 integer 范围是 -2147483648 到 2147483647。举例,在这样的系统上, intval('1000000000000') 会返回 2147483647。64 位系统上,最大带符号的 integer 值是 9223372036854775807。

    • 字符串有可能返回 0,虽然取决于字符串最左侧的字符。

    方法2:使用intval()函数和“==”运算符进行判断

    只需要将字符串转为整数,然后判断该整数和之前的字符串是否相等即可。

    示例:

    <?php
    header("Content-type:text/html;charset=utf-8");
    function f($str){
        $result = intval($str);
        if($result==$str){
            echo "$str 字符串是整数字符串<br><br>";
        }
        else{
            echo "$str 字符串不是整数字符串<br><br>" ;
        }
    }
    f("678");
    f("678d");
    f("a678");
    f("3.14");
    ?>

    2.png

    分析:

    说明:

    is_numeric()函数

    is_numeric() 函数用于检测变量是否为数字或数字字符串。

    bool is_numeric ( mixed $var )
    • $var:要检测的变量。

    返回值

    • 如果指定的变量是数字和数字字符串则返回 TRUE,否则返回 FALSE,注意浮点型返回 1,即 TRUE。

    strpos()函数

    strpos()函数查找字符串在另一字符串中第一次出现的位置(区分大小写)。

    strpos($string,$find,$start)
    • $string :必需。规定被搜索的字符串。

    • $find:必需。规定要查找的字符。

    • $start: 可选。规定开始搜索的位置。

    返回值:

    • 返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。注释: 字符串位置从 0 开始,不是从 1 开始。

    推荐学习:《PHP视频教程

    以上就是php怎么判断是否为整数字符串的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php字符串
    上一篇:php中有实例化对象的方法吗 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • php字符串怎么去除第一个字符• php字符串怎么只保留字母• php字符串怎么只提取中文字符• php字符串反转的函数是什么• php字符串怎么全部转为大写
    1/1

    PHP中文网