PHP第九课:数据类型
数据类型
PHP数据类型分为四种:标量数据类型、复合数据类型、特殊数据类型和伪类型。
其中标量数据类型共有四种:布尔型、整型、浮点型和字符串型;
复合数据类型共有两种:数组和对象;
特殊数据类型:资源数据类型和空数据类型;
伪类型通常在函数的定义中使用。// 用于声明那种只能在数据库系统内部调用的函数。
数组
数组在一个变量中存储多个值,它把一系列数据组合起来,形成一个操作的整体。数组中的每个数据称为一个元素,元素包括键名和值两部分。元素的键名可以由数字或字符串组成,元素的值可以是多种数据类型。定义格式如:
数组名=array(值,值,……)
或
数组名[键名]=值
或
数组名=array(键名=>值,键名=>值……)
<meta charset="utf-8"> <?php $username = array('陈乐乐','张帅','吴家卫','程益利'); echo "<pre>"; print_r($username); echo "</pre>"; echo $username[1]; echo " "; echo $username[2]; ?>
对象是存储数据和有关如何处理数据的信息的数据类型。首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
//对象:属性和方法 //class类 //类名(首字母必须大写) //public 公共的,公开的 //function 函数 //return返回输出(返出) class Car{ public $color; function Car($color='green'){ $this->color = $color; } function what_color(){ return $this->color; } } //实例化类(用上面的类,去真实的 造一辆车 出来) $obj = new Car(); echo $obj->what_color();
数据类型查看函数
1.gettype()函数
语法格式:string gettype ( mixed var )
函数功能:gettype()函数需要变量名(带$符号)或常量名作为参数,该函数返回变量或常量的数据类型,这些数据类型包括:integer、double、string、array、object、unknown type等。
2.var_dump()函数
语法格式:void var_dump (mixed var )
函数功能:var_dump()函数需要传递一个变量名(带$符号)或常量名作为参数,该函数可以得到变量或常量的数据类型以及对应的值,并将这些信息输出。
函数说明:调试程序时,经常使用var_dump()函数查看变量或常量的值、数据类型等信息。
<meta charset="utf-8"> <?php $a1 = "18.55"; //检查你手上的这个数据,他的类型是什么? echo gettype($a1)."是字符串<br/>"; $b1 = 10; echo gettype($b1)."是整数<br/>"; $c1 = 3.1415926; echo gettype($c1)."是浮点数(又叫小数)<br/>"; $d1 = array("王其其","程益利","钱唱"); echo gettype($d1)."是数组<br/>"; //检测数据类型并且能看到具体的数据 var_dump($a1); echo "<br/>"; $bllx = (array) ($bllx) ; //强制转换数组 echo gettype ($bllx)."数组<br>" ; settype ($bllx,"string") ; //强制转换数组 echo gettype ($bllx)."<br>" ; echo "----------------------------------"; echo "<br/>"; $k = ""; $f = 2.1; $s = array(1,2); echo '<br/>$k的类型是:'; var_dump($k); echo '<br/>$f的类型是:'; var_dump($f); echo '<br/>$s的类型是:'; var_dump($s); ?>
数据类型的转换
1. 类型自动转换
在定义变量或常量时,不需要指定变量或常量的数据类型,由PHP预处理器根据具体应用环境,将变量或常量转换为合适的数据类型。
类型自动转换基本规则如下:
布尔型数据参与算术运算时,TRUE被转换为整数1,FALSE被转换为整数0;NULL参与算术运算时,被转换为整数0。
浮点数与整数进行算术运算时,将整数转换为浮点数后,再进行算术运算。
参与算术运算的字符串,只有以数字开头的字符串才会被认作数字。字符串开头部分符合整数格式时,字符串将被转换为整数。如果字符串不是以数字开头,将被转换整数0。
2. 类型自动转换
在进行字符串连接运算时,整数、浮点数将被转换为字符串类型数据。例如12、12.3 转换为字符串后为:"12"、"12.3"。布尔型TRUE将被转换成字符串"1",布尔型FALSE和NULL将被转换成空字符串""。这就解释了为何语句“echo TRUE;”打印到页面上为1,而语句“echo FALSE;”打印到页面上为空字符串。
在进行逻辑运算时,空字符串“”、字符串“0”、整数0、浮点数0.0、NULL以及空数组将被转换为布尔型为FALSE;其它数据将被转换为布尔型TRUE(注意字符串“0.0”将被转换为布尔型TRUE)。
3. 类型强制转换
允许程序员手动将变量的数据类型转换成为指定的数据类型。PHP提供了多种强制类型转换方法:
在要类型转换的变量或常量之前加上用括号括起来的目标数据类型。
使用类型转换函数:intval()、floatval()、strval()、$b=(int)$a。
使用通用类型转换函数settype(),如settype($num,"integer");
注意:使用强制类型转换将浮点数转换为整数时,将自动舍弃小数部分,只保留整数部分;其它转换规则遵循自动转换的规则。
还没有留言,还不快点抢沙发?