PHP学习——数据类型
PHP的数据是存在类型的概念的,弱类型指的是变量可以存储任何类型!一共8种,分别是:
整型、浮点型、布尔型、字符串(标量类型)
数组、对象(符合类型)
null、资源(特殊类型)
分成三大类:
标量类型:指的是一个数据表示一个值,也称为简单类型。
复合类型:指的是一个数据表示多个值,也称为集合类型。
特殊类型:不是常规数据,更倾向一种表示方式。
- 布尔类型 bool boolean
- 表示逻辑的真和假,该数据就两个值 true表示真,false表示假,大小写不敏感~
12345
<?php
var_dump(True);
var_dump(
‘false‘
);
//使用引号是错误的
?>
1234<?php
var_dump(True);
?>
浏览器显示为:
- 表示逻辑的真和假,该数据就两个值 true表示真,false表示假,大小写不敏感~
boolean true
通常在判断的时候:关系表达式、或者if()需要的的条件等等,都需要布尔类型
整型 int integer
表示整型的数据,整型是有范围的,一个整型只能占用4个字节(4*8bit=32bit,32位),字节是最基本的数据存储单位,
位,计算机能够处理的最小单元,0和1
可以用预定义常量PHP_INT_MAX来得到最大值,
1
2
3
4
5
6
7 |
<?php $evil
= 182323328; var_dump( $evil ); echo
‘<hr>‘ ; echo
$evilxr = PHP_INT_MAX; ?> |
php的整型有正负之分,最高位为符号位,1为负,0为正
负叔也有最小值,-2147483648,最小值的绝对值,要比最大值的绝对值大一!原因在于都是补码计算机
1
2
3
4
5
6
7
8
9
10
11
12
13 |
<?php $evil
= 182323328; var_dump( $evil ); echo
‘<hr>‘ ; echo
$evilxr = PHP_INT_MAX; echo
‘<hr>‘ ; echo
$evilxr1 = -PHP_INT_MAX; //-2147483647 $evixr
= $evilxr1
- 1; //-2147483648 var_dump( $evilxr1 ); var_dump( $evixr -1) ?> |
整型数据的表示
整型支持三种表示方式,采用进制来区分,
php支持的表示方式:十进制、八进制、十六进制。
php提供了一些函数,可用于进制转换:
10 dec
2 bin
8 oct
16 hex
decbin();
hexdec();
如——>Hexdec()十六转十:
1
2
3
4
5
6 |
<?php echo
‘<hr>‘ ; echo
hexdec( ‘ff‘ ); ?> |
浮点数 float
php中没有区分单精度和双精度,因为只实现了双精度,浮点型就是双精度!
浮点数,小数可以表示!
1
2
3
4
5 |
<?php $evilxr
= 40.4; var_dump( $evilxr ); ?> |
整型不能表示的数也是浮点数:
当数很大时,可以用科学计数法:
1
2
3
4
5
6
7
8
9
10
11 |
<?php $evilxr
= 40.4; var_dump( $evilxr ); echo
‘<hr>‘ ; $kiss
= 2E8; var_dump( $kiss ); echo
‘<hr>‘ ; $kissme
= 1e-4; //不能写成‘1e - 4’会报错 var_dump( $kissme ); ?> |
ps:几乎所遇小数,在保存时,保存的都是近似值而不是精确值~
字符串 string
定义方式:单引号、双引号、定界符(heredoc)、定界符(newdoc)
无论什么方式,最终得到的都是string字符串数据
单引号:最简单、速度最快的定义字符串方式;
1
2
3
4
5
6
7 |
<?php $akon
= ‘this name is akon‘ ; var_dump( $akon ); echo
‘<hr>‘ ; $tired
= ‘I\‘m a dog!‘ ; //因为字符串中包含了单引号,所以就用到了转义字符 var_dump( $tired ); ?> |
双引号:
1
2
3
4
5
6
7
8
9
10
11 |
<?php $akon
= ‘this name is akon‘ ; var_dump( $akon ); echo
‘<hr>‘ ; $tired
= ‘I\‘m a dog!‘ ; //因为字符串中包含了单引号,所以就用到了转义字符 var_dump( $tired ); echo
‘<hr>‘ ; $class_name1
= ‘hello, $tired‘ ; $class_name2
= "hello, $tired" ; //单引号和双引号的区别就在于对字符串内容的解析;单引号不能对变量进行解析,而双引号可以, var_dump( $class_name1 , $class_name2 ); ?> |
数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
<?php $arr1
= array ( ‘key1‘ => ‘Very tired‘ , ‘key2‘ => ‘evil‘ ,); //创建一个含元素的数组 var_dump( $arr1 ); //输出数值类容 echo
‘<hr>‘ ; echo
$arr1 [ ‘key2‘ ]; //访问数值中的元素 echo
‘<hr>‘ ; $arr1 [ ‘key3‘ ] = ‘kanvi‘ ; //增加数组元素 var_dump( $arr1 ); echo
‘<hr>‘ ; var_dump(isset( $arr1 [ ‘key3‘ ])); //用isset()函数判断元素是否存在 echo
‘<hr>‘ ; unset( $arr1 [ ‘key2‘ ]); //用unset()函数删除数组中的元素,也可删除数组 var_dump( $arr1 ); ?> |
对象 Object
和数组一样,可以保存多个数据,对象的每个数据称为对象的一个属性(property),php中中对象的创建,需要通过实例化(new)类(class)来完成
类:相当于 设计图
实例化:按照这几图制作一个成品(对象)的过程,对象能出现的前提是有一个类,类需要一个class关键字声明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
<?php class
student{ //创建类 public
$name ; public
$age ; public
$gender ; } $stu
= new
student; //创建对象 var_dump( $stu ); echo
‘<hr>‘ ; $stu ->name = ‘好饿吖‘ ; $stu ->age = 22; $stu ->gender = ‘male‘ ; var_dump( $stu ); echo
‘<hr>‘ ; var_dump( $stu ->age); ?> |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。