PHP 判断变量类型实现代码

PHP
包括几个函数可以判断变量的类型,例如:gettype(),is_array(),is_float(),is_int(),is_object()
和 is_string()。

PHP中数据类型详解

复制代码 代码如下:

四种标量类型:
boolean (布尔型)
integer (整型)
float (浮点型, 也称作 double)
string (字符串)
两种复合类型:
array (数组)
object (对象)
最后是两种特殊类型:
resource (资源)
NULL (NULL)
为了确保代码的易读性,本手册还介绍了一些伪类型:
mixed
number
callback
以及伪变量 $….
可能还会读到一些关于“双精度(double)”类型的参考。实际上 double 和 float
是相同的,由于一些历史的原因,这两个名称同时存在。
变量的类型通常不是由程序员设定的,确切地说,是由 PHP
根据该变量使用的上下文在运行时决定的。
Note: 如果想查看某个表达式的值和类型,用 var_dump()。
如果只是想得到一个易读懂的类型的表达方式用于调试,用
gettype()。要查看某个类型,不要用 gettype(),而用 is_type
函数。以下是一些范例:
 <?php教程
$a_bool = TRUE;   // a boolean
$a_str  = “foo”;  // a string
$a_str2 = ‘foo’;  // a string
$an_int = 12;     // an integer

<?php
$s = “this is a string”;
$i = 9;
$arr = array(2,4,6);
is_string($s); //返回TRUE,表示$s是一个字符串变量
is_string($i); //返回FALSE,表示$i不是一个字符串变量
is_array($arr); //返回TRUE,表示$arr是一个数组
is_array($s); //返回FALSE,表示$s不是一个数组
$str = “this is a string”;
$int = 9;
$bool = FALSE;
echo “\$str的类型是:”.gettype($str);
echo “<br/>”;
echo “<br/>”;
echo “\$int的类型是:”.gettype($int);
echo “<br/>”;
echo “<br/>”;
echo “\$bool的类型是:”.gettype($bool);
?>

echo gettype($a_bool); // prints out:  boolean
echo gettype($a_str);  // prints out:  string

您可能感兴趣的文章:

// If this is an integer, increment it by four
if (is_int($an_int)) {
    $an_int += 4;
}

// If $bool is a string, print it out
// (does not print out anything)
if (is_string($a_bool)) {
    echo “String: $a_bool”;
}
?>

如果要将一个变量强制转换为某类型,可以对其使用强制转换或者 settype()
函数。
注意变量根据其当时的类型在特定场合下会表现出不同的值。更多信息见类型戏法。此外,你还可以参考
PHP 类型比较表看不同类型相互比较的例子。
 
 
 
#
 
二、PHP的数据类型

Int zjj=100;                  //这种赋值是对的

Int zjj=”hello,world”;            //这种编译器就会提示错误

在PHP中,对变量的数据类型不需要声明,可以直接赋值。如下面的

$zjj=100;               //表示zjj为整型

$zjj=”hello,world”            // 表示zjj为字符串型

PHP中的数据类型分成两种:一是标量数据类型,另一种就是复合数据类型。

标量数据类型有:

布尔型(boolean)         整型(integer)         
浮点型(foat也叫做double)    

复合数据有:

数组(array)        对象(object)

还有两种特殊的数据

资源(resource)           空值(NULL)

1、布尔型是最简单的变量,布尔变量:true和false值

要设定一个布尔变量,只需将这两个值赋给变量就行了。PHP中就算是关键字也可以做变量名。

<?php
 $True=”我是变量” . True;                  
//这里有点的,书上有时印刷并没有。
 echo($True);
 echo(“<BR>”);                        //起到回车的作用
 echo(“我是关键字” . True)
?>

执行结果:我是变量1                            //这里true就是1

                  我是关键字1

true和false实际上是代表数值1和0,因此true在输出时显示为1,但是在给变量赋值的时候,如果赋值为1,则被当成整型,如果被赋值为true,则被当成布尔型

当转换为布尔型时,以下值被认为是false

 (1)布尔值false

(2)整型值0(零)

(3)浮点型值0.0(零)

(4)空白字符串和字符串”0″

(5)没有成员变量的数组

(6)没有单元的对象(仅适用php4)

(7)特殊类型NULL

而所有其他值都被认为是TRUE包括任何资源。

2、整型

+2147483647到-2147483647

 

<?php
 $int_D=2147483647;  //十进制赋值
 echo($int_D);
 echo(“<br>”);
 $int_H=0x7FFFFFFF;  //十六进制赋值
 echo($int_H);
 echo(“<br>”);
 $int_O=017777777777;  //八进制赋值
 echo($int_O);
 echo(“<BR>”);
?>