目录
一. PHP变量类型-布尔类型
1.逻辑是 true 或 false。
2.布尔类型(boolean):只有两个值,一个是TRUE,另一个FALSE,可以理解为是或否;
3.它不区分大小写,也就是说”TRUE”和“true”效果是一样的。主要用在条件结构中,例如判断是否满足条件的时候,是用“true”表示满足,用“false”表示不满足。
4.当我们用”echo”指令输出布尔类型时,如果是“true”则输出的是“1”,“false”则什么也不输出。我们可以使用“var_dump”函数,获取它真正的数据类型。
5.eg:
<?php
$man = "男";
$flag = $man == "男"; //其中使用“==”等于比较运算符
echo $flag ;
echo "<br />" ;
var_dump($flag);
?>
效果:
1
bool(true)
注意:我们可以发现,虽然使用”echo”指令输出结果为1
,而“var_dump”给我们表明了“$flag”为布尔类型
的身份。
二: PHP标量类型-整型
1.整型(integer):是没有小数的数字,类似于常见的整数。
2.整数规则:
- 整数必须有至少一个数字(0-9)
- 整数不能包含逗号或空格
- 整数不能有小数点
- 整数正负均可
- 可以用三种格式规定整数:十进制(日常使用的数字)、十六进制(前缀是 0x)或八进制(前缀是 0)
3.eg:
<?php
$data_int1 = 123; // 十进制数
echo $data_int1;
echo "<br />";
$data_int2 = -123; // 一个负数
echo $data_int2;
echo "<br />";
$data_int3 = 0123; // 八进制数(等于十进制的 83)
echo $data_int3;
echo "<br />";
$data_int4 = 0x123; // // 十六进制数(等于十进制的 26)
echo $data_int4;
echo "<br />";
?>
效果:
123
-123
83
291
注意: 八进制的“0123;”等于10进制中的83,十六进制的“0x123;”等于10进制的291。
三. PHP标量类型-浮点型
1.浮点数是有小数点或指数形式的数字;
2.浮点型(浮点数、双精度数或实数),也就是通常说的小数,可以用小数点或者科学计数法表示。科学计数法可以使用小写的e,也可以使用大写的E;
<?php
$num_float1 = 1.234; //小数点
echo $num_float1;
echo "<br />";
$num_float2 = 1.2e3; //科学计数法,小写e
echo $num_float2;
echo "<br />";
$num_float3 = 7.0E-3; //科学计数法,大写E
echo $num_float3;
echo "<br />";
?>
效果图:
1.234
1200
0.007
注意: 我们可以发现,可以根据需要使用小数点或科学计数法来定义浮点型变量。
四: PHP标量类型-字符串型
1.字符串是由一系列字符组成,在PHP中,字符和字节一样,也就是说,一共有256种不同字符的可能性;
2.字符串型可以用三种方法定义:单引号形式、双引号形式和Heredoc结构形式。
3.eg:单引号形式和双引号形式
<?php
$str_string1 = '我是字符串';
$str_string2 = "我也是字符串哦";
echo $str_string1;
echo "<br />";
echo $str_string2;
?>
效果图:
我是字符串
我也是字符串哦
4. 当你的字符串中包含引号的时候,我们怎么办?不要慌哈,咱们想想办法
- 在单引号中嵌入双引号;
- 在双引号中嵌入单引号;
- 使用转义符“\”;
eg:
<?php
$str_string1 = '甲问:"你在哪里学的PHP?"'; //单引号中嵌入双引号
$str_string2 = "乙毫不犹豫地回答:'当然是慕课网咯!'"; //在双引号中嵌入单引号
$str_string3 = '甲问:\'能告诉我网址吗?\'';//单引号中嵌入单引号
$str_string4 = "乙答道:\"www.imooc.com\""; //在双引号中嵌入双引号
echo $str_string1;
echo "<br />";
echo $str_string2;
echo "<br />";
echo $str_string3;
echo "<br />";
echo $str_string4;
echo "<br />";
?>
. 效果图:
甲问:"你在哪里学的PHP?"
乙毫不犹豫地回答:'当然是慕课网咯!'
甲问:'能告诉我网址吗?'
乙答道:"www.imooc.com"
4.当引号遇到美元咋办?这里的美元可不是真正的美元,而是用美元符号标识的变量。
- 当双引号中包含变量时,变量会与双引号中的内容连接在一起;
- 当单引号中包含变量时,变量会被当做字符串输出。
eg:
<?php
$love = "I love you!";
$string1 = "慕课网,$love"; //字符串中双引号解析变量
$string2 = '慕课网,$love'; //单引号不解析
echo $string1;
echo "<br />";
echo $string2;
?>
效果图:
慕课网,I love you!
慕课网,$love
5.当我的字符串很长怎么办?
我们可以使用Heredoc结构形式的方法来解决该问题,首先使用定界符表示字符串(<<<),接着在“<<<“之后提供一个标识符GOD,然后是字符串,最后以提供的这个标识符结束字符串。
<?php
$string1 = <<<GOD
我有一只小毛驴,我从来也不骑。
有一天我心血来潮,骑着去赶集。
我手里拿着小皮鞭,我心里正得意。
不知怎么哗啦啦啦啦,我摔了一身泥.
GOD;
echo $string1;
?>
注意: 在赋值符号后,输入定界符“<<<”,接着是标识符,你可以用你的女神作为标识符“GOD”,如第2行,也可以使用你喜欢的狗狗,“DOG”作为标识符,但是,结尾处的标识符也必须是一样的。此外,在结尾的一行,如第7行,一定要另起一行,并且此行除了“GOD”,并以“;”号结束之外,不能有任何其他字符,前后都不能有,包括空格,否则会出现错误的哦。切记切记哦。
五: PHP特殊类型-资源
1.资源(resource):资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。
2.我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。
3.如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽。
4.eg:
<?php
//首先采用“fopen”函数打开文件,得到返回值的就是资源类型。
$file_handle = fopen("/data/webroot/resource/php/f.txt","r");//打开文件
if ($file_handle){
//接着采用while循环一行行地读取文件,然后输出每行的文字
while (!feof($file_handle)) { //判断是否到最后一行
$line = fgets($file_handle); //读取一行文本
echo $line; //输出一行文本
echo "<br />"; //换行
}
}
fclose($file_handle);//关闭文件
?>
六: PHP特殊类型-空类型(NULL)
1.NULL是空类型,对大小写不敏感;
2.NULL类型只有一个取值,表示一个变量没有值;
3.当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL;
4.NULL 值标示变量是否为空。也用于区分空字符串与空值数据库;
5.可以通过把值设置为 NULL,将变量清空;
5.eg1:
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
效果图:
NULL
6.eg2:
<?php
error_reporting(0); //禁止显示PHP警告提示
$var;
var_dump($var);
$var1 = null; //将“null”赋值给变量“$var1”;
var_dump($var1);
$var2 = NULL; //将“NULL”赋值给变量“$var2”;
var_dump( $var2);
$var3 = "节日快乐!";
unset($var3); //将变量“$var3”注销定义。
var_dump($var3);
?>
效果图:
NULL
NULL
NULL
NULL
七: 复合类型-数组
1. 数组在一个变量中存储多个值;
2.PHP var_dump() 会返回变量的数据类型和值;
3.eg:
<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>
效果图:
array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }
八: 复合类型-对象
1.对象是存储数据和有关如何处理数据的信息的数据类型;
2.在 PHP 中,必须明确地声明对象;
3.首先我们必须声明对象的类;对此,我们使用 class 关键词,类是包含属性和方法的结构;
4.然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>