欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP第二天类型判断 与 转换

程序员文章站 2024-03-16 22:52:46
...
gettype(): 获取一个变量的类型,结果为一个变量类型的名称(字符串)

$v1 = 10;

$r1 = gettype( $v1 ); //结果为:“integer”





$v2 = ‘abc’;

$r2 = gettype( $v2 ); //结果为:“string”



$v3 = 1.23;

$r3 = gettype( $v3 ); //结果为:“double”(返回的是double,但其实就是我们所说的float类型)





settype(): 设置一个变量的类型

$v1 = 10; //此时,$v1中数据是整数类型

settype( $v1,  ‘string’); //此时,$v1是字符串类型,即其中的数据变成了:“10”

echo  gettype( $v1 ); //”string”



PHP是一门“弱类型语言”!

$v1 = 10; //此时v1是int类型

$v1 = ‘abc’; //此时v1就是string类型



var_dump(): 输出变量的“完整信息”,包括变量类型,长度(如果需要),内容





判断是否为某种类型(类型系列函数):  

is_int() / is_integer():判断是否为整数类型

is_float():判断是否为浮点类型

is_bool():判断是否为布尔类型

is_string():。。。

is_array():。。。

is_numeric():判断是否为“数字”类型(含整数,小数,以及“纯数字字符串”)

is_object():



两个特殊判断:

isset(): 判断一个变量是否存在,或变量中是否有数据,有则返回true,否则返回false。

如果变量中有数据,返回true

如果变量中没有有数据,返回false

empty():判断是否为“空的”。如果确实是“空的”,返回true,否则返回false。

如果变量中的数据为空的,返回true

如果变量中的数据不是空的,返回false

“空的”的意思,比较接近日常生活中的“没有”。以下值都是空的(empty):

0.0, “”, “0”, false, array(), //这几项,empty判断的结果都是true
而空(null)是一个计算机中的特殊概念,表示“完全不存在”,可以理解为“真空”。

 

4.9.类型转换
4.9.1.自动转换
我们无需做任何处理,而是,程序会根据运算时运算符所需要的数据类型进行转换。
如果参与运算的数据不是需要的类型,则会自动转换为需要的数据类型。
$v1 = 1 + “3”;	//结果是4;
$v2 = 1  .  “3”;	//“.”是字符串连接符,这里,1会被转换为字符串,结果是:“13”
典型自动转换:
转换为数字:
1+”2”			//3
“1” + “2”			//3
1 + ”2abc”		//3
1 + ”2abc34”		//3
1 + “abc”			//1
1 + “abc2”		//1
1.2 + “2”			//3.2
1.2 + “2.2abc”		//3.4
1.2 + “abc2.2”		//1.2
“1.2abc” + 2		//3.2
“1.2abc” + “2abc”	//3.2
规律:一个字符串当做数字,就会将该字符串的最前面的数字转换为数字值,如果没有,就为0
转换为整数(直接保留整数部分):
10.8  %  3.6
“10.8”  %  “3.6”
“10.8”  %  “3.6abc”
“10.8ab”  %  “3.6cd”

4.9.2.强制转换:
人为使用强转换语法进行转换,比如:
$v1 = (int) “1”;	//结果,$v1是整数类型的1
$v2 = (float)  “1.23”;	//结果,$v2是浮点类型的1.23
$v3 = (string) $v1;	//结果,$v3是字符串“1”
4.9.类型转换
4.9.1.自动转换
我们无需做任何处理,而是,程序会根据运算时运算符所需要的数据类型进行转换。
如果参与运算的数据不是需要的类型,则会自动转换为需要的数据类型。
$v1 = 1 + “3”;	//结果是4;
$v2 = 1  .  “3”;	//“.”是字符串连接符,这里,1会被转换为字符串,结果是:“13”
典型自动转换:
转换为数字:
1+”2”			//3
“1” + “2”			//3
1 + ”2abc”		//3
1 + ”2abc34”		//3
1 + “abc”			//1
1 + “abc2”		//1
1.2 + “2”			//3.2
1.2 + “2.2abc”		//3.4
1.2 + “abc2.2”		//1.2
“1.2abc” + 2		//3.2
“1.2abc” + “2abc”	//3.2
规律:一个字符串当做数字,就会将该字符串的最前面的数字转换为数字值,如果没有,就为0
转换为整数(直接保留整数部分):
10.8  %  3.6
“10.8”  %  “3.6”
“10.8”  %  “3.6abc”
“10.8ab”  %  “3.6cd”

4.9.2.强制转换:
人为使用强转换语法进行转换,比如:
$v1 = (int) “1”;	//结果,$v1是整数类型的1
$v2 = (float)  “1.23”;	//结果,$v2是浮点类型的1.23
$v3 = (string) $v1;	//结果,$v3是字符串“1”