数据类型
php的数据类型一共有八种,其中包括四种基本类型:
int(整型)、float(浮点型)、boolean(布尔型,也称作bool)、string(字符串)
两种复合类型:
array(数组)、object(对象)
两种特殊类型:
resource(资源)
NULL(空)
int 整型
整数是一个没有小数的数字,整数满足一下几个规则:
- 整数必须至少一个数字(0-9)
- 整数不能包含逗号或空格
- 整数是没有小数点的
- 整数可以是正数或负数
- 整型可以用三种格式来指定:十进制,十六进制(以0x为前缀)或八进制(前缀为0)
整数型包括正整数、负整数和0
== 在八进制中若数字出现8及以上则会出现报错 ==
float浮点型
浮点数是带小数部分的数字,或是指数形式主要分为两个部分,在php中浮点数没有单精度和双精度分,只实现双精度,但是数据类型可以使用float 和 double 两种
boolean布尔型
布尔型就是两种,TRUE或FALSE,布尔型主要是用于条件判断,true和false主要是在一下情况会出现:
true:资源型和对象型在进行条件判断时都为真
false:整型0(0) 浮点0(0.0)字符串0(“0”)空字符串("")空类型(NULL)空数组(array())
String 字符串
只要是任何类型的数据加上单引号或者双引号就是字符串类型,string类型有四种方式:
- 单引号 如:$a=‘abc’
- 双引号 如:$a=“abc”
- heredoc:双引号的多行写法 语法:<<<开始标记 … 结束标记(结束标记必须在顶格)
- nowdoc:单引号的多行写法 语法:<<<‘开始标记’ … 结束标记(结束标记在顶格)
(关于定界符可参考博客:https://blog.csdn.net/fzykn06/article/details/87986597 )
单引号和双引号的区别:
单引号不能解析变量,双引号可以解析变量
附常用的转义字符:
array数组
数组可以在一个变量中存储多个值,相同类型的集合
object对象
对象是系统中用来描述客观事物的一个实体,它是构成系统的一个结伴单位,对象数据类型也可以用于存储数据,在php中,对象必须声明,使用class关键字声明类对象,类是可以包含属性和方法的结构,然后在类中定义数据类型,在实例化的类中使用数据类型。(对于这个如果懂得java的可以参考java中的例子)
class class_name{//声明类
var $var_name;//在类中定义使用var来声明变量即创建了类的属性
function function_name(arg1,arg2,…){//通过在类定义中声明函数,即创建了类的方法
函数功能代码
}
}
resource资源型
资源型的数据,用户脚本无法创建出来,也就是说,我们无法定义一个资源型得变量,只能通过php内置函数来获得,是一种特殊的变量类型,保存了到外部资源的一个引用,如打开文件、数据库连接、图形画布区域等。
此处为伪代码,具体可以参考博客 :http://www.php.cn/php-weizijiaocheng-360747.html (本处主要引用博客内的内容)
NULL值
NULL值标识变量没有值,NULL是数据类型为NULL的值,NULL值指明一个变量是否为空值,同样可用于数据空值和NULL值的区别,可以通过设置变量值为NULL来清空变量数据。三种情况下为空:
- 尚未被赋值
- 被赋值为NULL
- 被unset()函数处理过的变量
常量
常量是一个简单的值的标识符,常量值被定义后,在脚本的其他任何地方都不能被改变,一个常量由英文字母、下划线和数字组成,但数字不能作为首字母出现。常量名前不需要 $ 修饰符。设置常量,使用define()函数,语法如下:
bool define (string $name, mixed $value [,bool $case_insensitive = false ])
该函数有三个参数:
- name:必选参数,常量名称,即标识符
- value:必选参数,常量的值
- case_insensitive:可选参数,如果设置为TRUE,该常量则大小写不敏感。默认是大小写敏感,即该参数默认值为FALSE。
例如:区分大小写的常量:
(图中报错是系统检测到没有变量greeting)
不区分大小写的常量:
常量是全局的
常量在定义后,默认是全局变量,可以在整个运行脚本的任何地方使用。
无论是函数内还是函数外都是可以使用的。