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

学习笔记 03/12 PHP

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

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

本教程操作环境: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 = &#39;123.456abc&#39;;
echo $str."<br>";
$int = intval($str);
echo $int."<br>";
echo &#39;变量 $int 的类型为:&#39; . gettype($int) . &#39;<br>&#39;;
echo &#39;<hr>&#39;;

$str = &#39;abc123.456&#39;;
echo $str."<br>";
$int = intval($str);
echo $int."<br>";
echo &#39;变量 $int 的类型为:&#39; . gettype($int) . &#39;<br>&#39;;
echo &#39;<hr>&#39;;


$str = &#39;123.abc456&#39;;
echo $str."<br>";
$int = intval($str);
echo $int."<br>";
echo &#39;变量 $int 的类型为:&#39; . gettype($int) . &#39;<br>&#39;;
?>

1.png

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

方法2:使用settype()函数

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

$str = &#39;abc123.456&#39;;
echo $str."<br>";
settype($str,"integer");
echo $str."<br>";
echo &#39;修改后的类型为:&#39; . gettype($str) . &#39;<br>&#39;;
?>

2.png

说明:

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

settype ( $var ,$type )

$type可设置的值:

  • "boolean" (或为"bool",从 PHP 4.2.0 起)

  • "integer" (或为"int",从 PHP 4.2.0 起)

  • "float" (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的"double"现已停用)

  • "string"

  • "array"

  • "object"

  • "null" (从 PHP 4.2.0 起)

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

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

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

3.png

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

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

4.png

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

推荐学习:《》

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

本文地址:https://www.stayed.cn/item/26852

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。