php学习day4---常量与数据类型
今天我学习了php有关常量的知识和数据类型的知识
下面是今天的学习内容:
一、常量
1.常量定义
常量是一个其中存储的数据不会也不应该改变的“标识符”。通常情况下,常量的定义有两种方法:
//第一种方法 //define(“常量名”,“常量值”); define("HH","123"); //第二种方法 //const 常量名=常量值; const HH = 123;
常量的取值方法:两种方法
//直接使用名字,或者通过constant()函数取值 //直接使用其名 echo HH; // HH = 123 //使用constant(“常量名”)函数,注意:常亮名是个字符串 echo constant("HH"); // HH=123
常量有以下几个特点:
1.常量无需$来使用。
2.常量的值不可以改变也不能销毁。
3.具有超全局作用域。
4.常量只能储存标量。
在一个项目中,是由多个人员来共同开发,那么如何判断一个常量是否存在或被别人定义呢?
在这里,我们给出以函数,这个函数就是专门判断常量是不是存在的:
defined(“常量”)
如果存在,返回true,不存在,则返回false
在php当中如果使用一个未定义的常量会报错,但是仍然会将该常量当有值。
预定于常量
预定义常量就是系统中预先定义好的常量,我们可以直接拿过来用,着种常量,有几百个,我们需要了解几个就可以了:
M_PI:圆周率;
PHP_OS:就是php运行所在的操作系统。
PHP_VERSION:就是php的版本号。
PHP_INT_MAX:php种的最大整数。
魔术常量
_FILE_:代表当前网页文件的完整物理路径
_DIR_:代表当前网页文件所在的文件夹
_LINE_:代表当前这个常量名所在的行号
二、数据类型
php一共有8种数据类型。
基本类型(标量类型)4种:
整型: int integer
浮点数: float,double,real
字符串: string
布尔类型: bool,boolean
复合类型两种:
数组: array()
对象: object()
特殊类型2种
空类型: null
资源类型: resource
三、数据类型的方法
1.整型:int integer
1).整型有四种写法
$n1 = 123; //十进制 $n2 = 0123; //八进制 $n3 = 0x123; //16进制 $n4 = 0b1010; //2进制
2).10进制转换为其他进制方法
decbin():结果返回的是该数字的2进制数字形式的字符串
decoct():结果返回的是该数字的8进制数字形式的字符串
dechex():结果返回的是该数字的16进制数字形式的字符串
3).其他进制转换为10进制
bindec(字符串): 结果返回的是该2进制数字字符串对应的10进制数字
octdec(字符串): 结果返回的是该8进制数字字符串对应的10进制数字
hexdec(字符串): 结果返回的是该16进制数字字符串对应的10进制数字
2.浮点数
浮点数有两种写法:
常规写法: 带小数点。 (123.456)
科学计数法: 带特殊符号E。(123456E3)
注意:浮点数不应该进行大小比较,因为所有的数字最终形式都是二进制,大多数浮点数的二进制都是不能准却表达的。当整数的运算结果超出整数最大范围,就会变成浮点数。
3.字符串
字符串的四中形式:
形式1:双引号字符串: $str1 = “字符串内容.....”; 形式2:单引号字符串: $str2 = ‘字符串内容.....’; 形式3:双引号定界符字符串: $str3 = <<<”标识符A” 字符串内容.... 标识符A; 形式4:单引号定界符字符串: $str4 = <<<’标识符B’ 字符串内容... 标识符B;
四者区别:
3.布尔类型(bool,boolean)
其只有2个数据:true,false;
布尔类型的一个常见应用情形是:对一个变量直接进行判断。
0, 0.0, “”, “0”, null, array(), false, 还有一个是“未定义的变量”
四、类型转换
自由转换
在任何运算中,如果需要某种类型的数据,而给出的数据不是该类型,通常都会发生自动转换:将该类型转换为目标需要的类型。如图:
强制转换
自动类型转换是由“运算符”或类似运算符的语句来决定的。强制类型转换,仅仅是一个简单的语法:
(int), (float), (string), (bool), (array), (object)
上述强制类型转换,并不改变该变量的本身数据或类型。对应,有一个语法是直接改变本的数据(及类型):
settype( $变量名, “目标类型”);
五、常见与数据类型相关的函数
var_dump(): 打印变量的相关信息
getType($变量): 获取数据类型,返回值是该类型名称的字符串
setType($变量名,“目标类型”): 设置变量的数据类型,直接改变本的数据(及类型)
is_*(): 判断一个变量是否是某种类型
isset(): 判断变量是否为null或者是否存在
empty(): 判断一个变量是否为空 “”,“0”,0,false,arry(),null都认为是空的,返回布尔值
今天的笔记就写到这里,明天继续。