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

    php怎么将字符串转化为数字

    青灯夜游青灯夜游2023-01-18 10:49:40原创52

    4种转换方法:1、使用intval()函数转换,语法“intval($val)”;2、使用settype()函数转换,语法“settype($val,"integer")”;3、在变量前加上用括号括起来的目标类型“(int)”,语法“(int)$val”;4、使用“+”运算符将字符串和数字0相加,语法“$val + 0”。

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

    php将值强制转为数字类型

    方法1:使用具体的转换函数intval()

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

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

    <?php
    header("Content-type:text/html;charset=utf-8");
    $str = '123.456abc';
    echo $str."<br>";
    $int = intval($str);
    echo $int."<br>";
    echo '变量 $int 的类型为:' . gettype($int) . '<br>';
    echo '<hr>';
    
    $str = 'abc123.456';
    echo $str."<br>";
    $int = intval($str);
    echo $int."<br>";
    echo '变量 $int 的类型为:' . gettype($int) . '<br>';
    echo '<hr>';
    
    
    $str = '123.abc456';
    echo $str."<br>";
    $int = intval($str);
    echo $int."<br>";
    echo '变量 $int 的类型为:' . gettype($int) . '<br>';
    ?>

    1.png

    注:使用intval() 函数将字符串转数字时,只能提取字符前的数字,如果字母开头,则提取的数为0.

    方法2:使用settype()函数

    <?php
    header("Content-type:text/html;charset=utf-8");
    $str = '123.456abc';
    echo $str."<br>";
    settype($str,"integer");
    echo $str."<br>";
    echo '修改后的类型为:' . gettype($str) . '<br>';
    echo '<hr>';
    
    $str = 'abc123.456';
    echo $str."<br>";
    settype($str,"integer");
    echo $str."<br>";
    echo '修改后的类型为:' . gettype($str) . '<br>';
    ?>

    2.png

    说明:

    settype() 函数用于将变量$var设置为指定$type类型。语法:

    settype ( $var ,$type )

    $type可设置的值:

    settype() 函数会改变变量本身的类型。

    方法3:在要转换的变量之前加上用括号括起来的目标类型“(int)”或“(integer)”

    <?php
    header("Content-type:text/html;charset=utf-8");
    $str = '123.456abc';
    $int = (int)$str;
    echo $int."<br>";
    echo '变量 $int 的类型为:' . gettype($int) . '<br>';
    ?>

    3.png

    方法4:使用“+”运算符将字符串和数字0相加

    <?php
    header("Content-type:text/html;charset=utf-8");
    $str = '123abc';
    echo $str."<br>";
    $int = $str+0;
    echo $int."<br>";
    echo '变量 $int 的类型为:' . gettype($int) . '<br>';
    ?>

    4.png

    因为PHP是弱类型的语言,会进行隐形数字类型转换。

    推荐学习:《PHP视频教程

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

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

    相关文章推荐

    • php能写入英文不能写入中文怎么办• php怎么实现对象转字符• linux Centos怎么安装PHP7• php+fread()乱码怎么办• php连mysql8报错怎么办
    1/1

    PHP中文网