菜单

浅谈php中变量的数据类型判断函数,php入门教程之数值型数据类型详解

2019年8月3日 - 4166am金沙下载

在php中我们可以通过
 var_dump()打印出变量的类型和值。同时我们可以通过一些函数判断变量的类型。如果只是想得到一个变量的数据类型,可以使用gettype()函数,gettype($t)
 返回$t的数据类型的字符串,要是$t不属于php中8种基本变量类型,返回”unknow
 type”。我们还可以通过is_type系类函数直接判断是否为type类型函数,是的话返回true
,不是返回false。

在PHP里,变量的类型是赋给它们的值决定的。如果赋的值是整型,那么变量就是整型,如果是字符串,就是字符串型。

如:

 代码如下

is_bool()        是否为布尔型
is_int()         是否为整型
is_float()       是否为浮点型
is_string()      是否为字符串型
is_array()       是否为数组型
is_object()      是否为对象类型
is_resource()    是否为资源类型
is_null()        是否为空
is_scalar()      是否为标量型,即是一个整型 浮点型 布尔型
或者字符串型。
is_numeric()     是否为任何类型的数字或者数字字符串
is_callable()    是否是有效函数名

<?php
 $name=”your name”;//name位string类型。
 $total=12;        //total为整型
?>

PHP 支持八种原始类型(type)。

四种标量类型:

string(字符串)
integer(整型)
float(浮点型,也作 double )
boolean(布尔型)
两种复合类型:

array(数组)
object(对象)
两种特殊类型:

resource(资源)
NULL(空)
查看变量类型
通过 gettype() 函数可以方便的查看某个变量的类型:

 代码如下

<?php
$var_bool = TRUE;     // a boolean
$var_str  = “foo”;     // a string
$var_int  = 12;      // an integer

echo gettype($var_bool);    // 输出 boolean
echo gettype($var_str);     // 输出 string
echo gettype($var_int);     // 输出 integer
?>

提示
由于历史原因,如果是 float 类型数据,gettype() 函数返回的是
double,而不是 float 。
如果想查看某个表达式的值和类型,请使用用 var_dump() 函数。
判断变量类型
如果想通过判断变量类型来确定下一步逻辑动作,不要使用 gettype() ,而使用
is_type 系列函数:

 代码如下

<?php
$var_int  = 12;

// 如果 $var_int 是 int 类型,这进行加法
if (is_int($var_int)) {
    $var_int = $var_int+4;
}
echo $var_int;  // 输出 16
?>

 

integer数据类型

一个 integer 是集合 Z={…,-2,-1,0,1,2,…} 
中的一个数。整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(-或者+)。

如果用八进制符号,数字前必须加上 0(零),用十六进制符号数字前必须加上
0x。

例如:

 代码如下

<?php

$a=1234;          //十进制数

$a=-123;          //一个负数

$a=0123;          //八进制数(等于十进制的 83)

$a=0x1A;          //十六进制数(等于十进制的 26)

?>

整型值可以使用十进制,十六进制或八进制进行表示,前面可以加上可选的符号(-
或者 +)。

八进制表示数字前必须加上 0(零),十六进制表示数字前必须加上 0x。

整型数的字长和平台有关,尽管通常最大值是大约二十亿(32 位有符号)。PHP
不支持无符号整数。Integer值的字长可以用常量PHP_INT_SIZE来表示,自 PHP
4.4.0 和 PHP 5.0.5后,最大值可以用常量PHP_INT_MAX来表示。

如果给定的一个数超出了 integer 的范围,将会被解释为
float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。

PHP 中没有整除的运算符。1/2 产生出 float
0.5。可以总是舍弃小数部分,或者使用 round() 函数。

要明确地将一个值转换为 integer,用 (int) 或 (integer)
强制转换。不过大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个
integer 参数时,值会自动转换。还可以通过函数 intval()
来将一个值转换成整型。

从布尔值转换,FALSE 将产生出 0(零),TRUE 将产生出 1(壹)。
从浮点数转换,当从浮点数转换成整数时,将向零取整。如果浮点数超出了整数范围(通常为
+/- 2.15e+9 =
2^31),则结果不确定,因为没有足够的精度使浮点数给出一个确切的整数结果。在此情况下没有警告,甚至没有任何通知!

布尔型是最简单的类型。boolean 表达了真值,可以为 TRUE 或
FALSE。要指定一个 布尔值,使用关键字 TRUE 或
FALSE,两个都是大小写不敏感的。

 代码如下

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图