PHP是一种非常弱的类型语言。在大多数编程语言中,变量只能保持一种类型的数据,而且这个类型必须在使用变量前声明,例如C语言中。而在 PHP中,变量的类型通常不是由程序员设定的,确切地说,是根据该变量 使用的上下文在运行时(即变量的值)决定的
定义变量
可变的量成为变量
PHP 中一个美元符号($)后面跟上一个变量名称,即表示一个变量。变量的名称是对大小写敏感的。
变量名与 PHP 中真它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。
查看数据类型函数
echo
•输出一个或多个变量,他不是函数,不需要使用括号,如果输出多个 请用逗号分隔
VAR _dump
•打印变量的相关信息
变量赋值
传值赋值
•$变量名=值
传址赋值
•$变量名=&$变量名
可变变量
•有时候使用可变变量名是很方便的。就是说,一个可变变量获取了一 个普通变量的值作为这个可变变量的变量名。
例:
•<?php
$a = ‘hello’; //普通变量
•$$a = ‘world’;//可变变量 echo “$a ${$a}”;//输出:hello world
•echo “$a $hello”;//输出:hello world
•?>
外部变量
PHP的特点之一是可以用简单的方式处理表单数据,获取环境变量。在
PHP中,这些外部数据或变量保存在一种特殊的全局数组中。
$_GET[“VAR”]get参数
$_POST[“VAR”]post参数
$_REQUEST[“VAR”]可接收get与post及cookie参数
常量
语义
常量是一个简单值的标识符(名字)。常量默认为大小写敏感。按
照惯例常量标识符总是大写的。
常量名和真它任何 PHP 标签遵循同样的命名规则。合法的常量名 以字母或下划线开始,后面跟着任何字母,数字或下划线。
定义方式
define (“常量名”,值);
注:常量只能包含 标量
系统常量
PHP_VERSION显示PHP版本
PHP_OS显示服务器的操作系统版本
TRUEFALSE表示真假的常量
变量与常量检测
检测变量是否存在
•isset(变量名)返回值为 boolean
删除变量
•unset(变量名)是一个语句,没有返回值
检测常量是否存在
•defined(常量)返回值为boolean
常量和变量不同
•常量前面没有美元符号($)
•常量只能用define() 函数定义,而不能通过赋值语句
•常量一旦定义就不能被重新定义或者取消定义
•常量的值只能是标量
•常量可以不用理会变量范围的规则而在任何地方定义和访问
布尔型(boolean):true/ FALSE
当转换为 boolean 时 以下值被认为是FALSE:
1. 布尔值 FALSE
2.整型值 0(零)
3. 浮点型 值 0.0(零)
4.空白 字符串
5.字符串 “0”
6.没有成员变量的数组
7.没有单元的对象(仅适用于 PHP 4)
8.特殊类型 NULL(包括尚未设定的变量) 所有其它值都被认为是 TRUE
整型( integer )与浮点型(Float)
整型
•整型值可以用十进制 十六进制或八进制符号指定 前面可以加上可 选的符号(- 或者 +)
浮点数
•浮点数简单理解为带小数点的数值类型。如:$a = 1.234
字符串(string)
•在 PHP 中 字符和字节一样 也就是说 一共有 256 种不同字符的 可能性。这也暗示 PHP 对 Unicode 没有本地支持。
示例:
•$str = “后盾网”
NULL
NULL数据类型只有一个值NULL。
1. 变量未被赋予任何值
2.变量被赋值为NULL
3. 被unset()函数处理后的变量
示例:
$a;//变量$a未被赋予任何变量 值为NULL
$b = NULL;//变量$b被赋值为NULL
$c = 10;
unset($c);//使用unset()函数处理后 $c为NULL
取得和判断数据类型的函数
getType()
•获取变量的类型
is_bool
•(检测是否为布尔型)
is_int
•(检测是否为整型)
is_float
•(检测是否为浮点数)
is_string
•(检测是否为字符串)
is_null
•(检测是否为NULL)
自动转换
•PHP类型根据值 自动转换
强制转换
•settype($var,”type”)
intval()
floatval()
strval()