变量类型转换
PHP中不需要(也不支持)在变量定义时做显式的类型声明;一个变量的类型取决于它的值的类型。也就是说,如果你给变量var
赋了一个字符串值,var 就成为字符串变量。如果你又赋了一个整型值给var, 它就变成了一个整型变量。
一个PHP自动类型转换的例子是加法操作符
+。如果任何一个操作数是double型,则所有的操作数按 double类型来计算,
结果也是double型的。否则,所有的操作数按integer类型来计算,
结果也是integer型的。注意:操作数本身的类型不发生变化;类型变换仅在计算时做
$foo =
"0"; // $foo is a string (ASCII 48)$foo++; // $foo is the string "1"
(ASCII 49)
$foo += 1; // $foo is now an integer (2)
$foo = $foo + 1.3; // $foo is now a double (3.3)
$foo = 5 + "10 Little Piggies"; // $foo is a double (15)
$foo = 5 + "10 Small Pigs"; // $foo is an integer
(15)
要改变变量的类型,也可用settype()
函数。
1、强制类型转换
PHP中的强制类型转换和C中一样:
在需要进行类型强制转换的变量前的括号中写出想要的类型名。
$foo =
10; // $foo is an integer$bar = (double) $foo; // $bar is a
double
允许的强制转换是:
(int), (integer) - cast to integer
(real), (double), (float) - cast to double
(string) - cast to string
(array) - cast to array
(object) - cast to object
注意:括号中可以含有tab或空格,下面的函数将被计算:
$foo =
(int) $bar;$foo = ( int ) $bar;
2、字符串转换
当字符串作为数值类型计算时,结果的值和类型按以下方式决定。
如果字符串中包含任何.,
e,及E字符,则被作为double类型计算。否则,就作为integer类型计算。该值从字符串最开始算起。如果字符串是合法的数字,则使用该值,否则值为 0
。合法的数字是一个符号位(可选),后跟一位或几位数字(也可含有一个十进制的小数点), 后跟一位可选的指数。指数是一个 e 或
E后跟一个或几个数字。
$foo = 1
+ "10.5"; // $foo is a double
(11.5)$foo = 1 + "-1.3e3"; // $foo is a double (-1299)
$foo = 1 + "bob-1.3e3"; // $foo is a double (1)
$foo = 1 + "bob3"; // $foo is an integer (1)
$foo = 1 + "10 Small Pigs"; // $foo is an integer (11)
$foo = 1 + "10 Little Piggies"; // $foo is a double (11); the
string contains e
***************************************************************************************
gettype
取得变量的类型。
语法: string gettype(mixed var);
返回值: 字符串
函数种类: PHP 系统功能
内容说明
本函数用来取得变量的类型。返回的类型字符串可能为下列字符串其中之一:integer、double、string、array、object、unknown
type。
参考
settype()
-------------------------------------------
intval
变量转成整数类型。
语法: int intval(mixed var, int [base]);
返回值: 整数
函数种类: PHP 系统功能
内容说明
本函数可将变量转成整数类型。可省略的参数 base 是转换的基底,默认值为 10。转换的变量 var
可以为数组或类之外的任何类型变量。
参考
doubleval_r() strval() settype()
-------------------------
doubleval
变量转成倍浮点数类型。
语法: double doubleval_r(mixed var);
返回值: 倍浮点数
函数种类: PHP 系统功能
内容说明
本函数可将变量转成倍浮点数类型。转换的变量 var 可以为数组或类之外的任何类型变量。
参考
intval() strval() settype()
--------------------------------------
is_array
判断变量类型是否为数组类型。
语法: int is_array(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
若变量为数组类型则返回 true,否则返回 false。
参考
is_double() is_float() is_int() is_integer() is_long() is_object()
is_real() is_string()
----------------------------------------
is_double
判断变量类型是否为倍浮点数类型。
语法: int is_double(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
若变量为倍浮点数类型则返回 true,否则返回 false。
参考
is_array() is_float() is_int() is_integer() is_long() is_object()
is_real() is_string()
--------------------------------------------
is_float
判断变量类型是否为浮点数类型。
语法: int is_float(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
若变量为浮点数类型则返回 true,否则返回 false。
参考
is_array() is_double() is_int() is_integer() is_long() is_object()
is_real() is_string()
-----------------------------------
is_int
判断变量类型是否为整数类型。
语法: int is_int(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
若变量为整数类型则返回 true,否则返回 false。
参考
is_array() is_double() is_float() is_integer() is_long()
is_object() is_real() is_string()
-------------------------------
is_integer
判断变量类型是否为长整数类型。
语法: int is_integer(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
若变量为长整数类型则返回 true,否则返回 false。本函数其实就是 is_long()。
参考
is_array() is_double() is_float() is_int() is_long() is_object()
is_real() is_string()
----------------------------------
is_long
判断变量类型是否为长整数类型。
语法: int is_long(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
若变量为长整数类型则返回 true,否则返回 false。
参考
is_array() is_double() is_float() is_int() is_integer() is_object()
is_real() is_string()
---------------------------
is_object
判断变量类型是否为类类型。
语法: int is_object(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
若变量为类类型则返回 true,否则返回 false。
参考
is_array() is_double() is_float() is_int() is_integer() is_long()
is_real() is_string()
------------------------------------
is_real
判断变量类型是否为实数类型。
语法: int is_real(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
若变量为实数类型则返回 true,否则返回 false。
参考
is_array() is_double() is_float() is_int() is_integer() is_long()
is_object() is_string()
-------------------------------------
is_string
判断变量类型是否为字符串类型。
语法: int is_string(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
若变量为字符串类型则返回 true,否则返回 false。
参考
is_array() is_double() is_float() is_int() is_integer() is_long()
is_object() is_real()
------------------------------------
isset
判断变量是否已配置。
语法: int isset(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
本函数用来测试变量是否已经配置。若变量已存在则返回 true 值。其它情形返回 false 值。
使用范例
$a = "test";
echo isset($a); // true
unset($a);
echo isset($a); // false
?>
参考
empty() unset()
---------------------------------------
settype
配置变量类型。
语法: int settype(string var, string type);
返回值: 整数
函数种类: PHP 系统功能
内容说明
本函数用来配置或转换变量类型。成功返回 true 值,其它情形返回 false 值。参数 var 为原来的变量名,参数 type
为下列的类型之一:integer、double、string、array 与 object。
参考
gettype()
-------------------------------
strval
将变量转成字符串类型。
语法: string strval(mixed var);
返回值: 字符串
函数种类: PHP 系统功能
内容说明
本函数可将数组及类之外的变量类型转换成字符串类型。
参考
doubleval_r() intval() settype()
-----------------------------------------
unset
删除变量。
语法: int unset(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
本函数将变量删除,成功则返回 true 值。
参考
isset() empty()
----------------------------------------好了。。整理真累,希望大家喜欢。。。。
empty
判断变量是否已配置。
语法: int empty(mixed var);
返回值: 整数
函数种类: PHP 系统功能
内容说明
本函数用来测试变量是否已经配置。若变量已存在、非空字符串或者非零,则返回 false 值;反之返回 true。值的注意的是
aulbach@unter.franken.de 指出 (27-May-1999) 若使用 empty($myvar) !=
!isset($myvar) 会造成 PHP 处理的问题。
参考
isset() unset()