原始数据类型
PHP一种支持八种原始数据类型:
- 四种标量类型,即integer(整形)、float/double(浮点型)、string(字符串型)和boolean(布尔型)
- 两种复合类型,即array(数组)、object(对象)
- 两种特殊类型,即resource(资源)、NULL(空)
类型 | 说明 |
---|---|
integer | 整型数据类型只能包含整数,可以是正数或负数 |
float | 浮点数据类型用于存储数字,和整型不同的是它有小数位 |
string | 字符串就是连续的字符序列,可以是计算机所能表示的一切字符的集合 |
boolean | 这是最简单的数据类型,只有两个值,真(true)和假(false) |
array | 用来保存具有相同类型的多个数据项 |
object | 用来保存类的实例 |
resource | 资源是一种特殊的变量类型,保存了到外部资源的一个引用:如打开文件、数据库连接、图形画布区域等 |
NULL | 没有被赋值、已经被重置或者被赋值为特殊值NULL的变量 |
代码示例:
输出个人信息
<?php
/*
* 输出个人信息
*/
$name = "Pleione_Plus";
$gender = "man";
$age = 18;
$height = 175;
$weight = 60;
echo "姓名:".$name."<br>";
echo "性别:".$gender."<br>";
echo "年龄:".$age."<br>";
echo "身高:".$height."<br>";
echo "体重:".$weight."<br>";
?>
数据类型转换
PHP是弱类型语言(或动态语言),不需要像C语言一样在使用变量之前必须先声明变量的类型。在PHP中,变量的类型是由赋给它的值确定。
隐式转换
PHP在被解析时会将某些数据类型自动转化为相对应的类型后再进行转换。
-
隐式转换为bool类型(常在条件语句中出现)
<?php $x = 0;// false $x = '0';// false $x = '123';// true $x = '';// false $x = ' ';// true $x = false;// false $x = null;// false $x = 0.0;// false $x = '0.0';// true $x = [];// false if($x){ echo 'true'; } else{ echo 'false'; }
-
隐式转化为其他数据值类型(计算)
<?php $x = 1 + 3;// 1 + 3 $x = 0x12 + 3;// 18 + 3 $x = true + 3;// 1 + 3 $x = false + 3;// 0 + 3 $x = null + 3;// 0 + 3 $x = '1' + 3;// 1 + 3 $x = '1.2' + 3;// 1.2 + 3 $x = '2a' + 3;// 2 + 3 $x = 'a2' + 3;// 0 + 3 $x = 'null' + 3;// 0 + 3 $x = '0x12' + 3;// 0 + 3 $x = 'a2' + '2a';// 0 + 2 $x = '' + 3;// 0 + 3; $x = ' ' + 3;// 0 + 3 $x = '-1' + 3;// -1 + 3 echo $x;
显式转换
-
借助数据类型转换(只在本语句中有效,其原始值不变)
-
使用函数进行数据类型转换(原始数据类型被改变)
settype()函数的语法:
bool settype (mixed $var,string $type)
代码示例:
<?php
$str = "3.14P";
$pi = (integer)$str;
$str_copy = $str;
$result = settype($str_copy,'integer');
echo "原始数据为:".$str."<br>";
echo $str."转换的结果为:".$pi."<br>";
echo "原始数据拷贝的转换结果为:".$result."其值为:".$str_copy."<br>";
?>
检测数据类型
PHP还内置了检测数据类型的系列函数,可以对不同类型的数据进行检测,判断其是是否属于某个类型,如果符合则返回true,否则返回false。