php的数据类型
数据类型 |
标量类型 |
复合类型 |
特殊类型 |
1 |
bool 布尔型 |
array 数组 |
null |
2 |
int 整形 |
object 对象 |
resource 资源类型 |
3 |
string 字符串 |
|
|
4 |
float 浮点型 |
|
|
php变量命名规则
变量:指代码中需要暂存的数据载体,可以复用,按名访问
- 变量命名要有规则
- 变量名不能以数字开头,可以以字母或下划线开头
- 变量区分大小写,函数不区分大小写
- 多个单词组成的变量用驼峰法命名:userName, passWord
php变量类型的转换
1.临时转换
强制类型转换
$uid = 1;
(bool)$uid => bool(true) => boolean
(int)$uid => int(1) => integer
(string)$uid => string(1) => string
(float)$uid => float(1) => double
(array)$uid => array(1) { [0]=> int(1) } => array
(object)$uid => object(stdClass)#1 (1) { ["scalar"]=> int(1) } => object
系统自动转换变量类型
$uid = '1'; => string(1) "1"
$uid += 5.5; => float(6.5)
$uid += 1; => int(2)
$uid = null; => null
$uid += 1; => int(1)
$uid += '1'; => int(1)
$username = null;
(bool)$username) => bool(false)
// null 在布尔类型中被转换成false
2.永久转换
$uid = '1'; => string
settype($uid, 'int'); =>integer/int
settype($uid, 'float'); =>double/float
变量赋值
1. 传值赋值
将源变量的值 复制出一份新的值(新的内存空间地址)给另一个变量,同时修改两个变量的值,互不影响
$a = 10;
$b = $a;
printf('$a的值%d, $b的值%d', $a,$b);
=> $a的值10, $b的值10
$a = 100;
printf('$a的值%d, $b的值%d', $a,$b);
=> $a的值100, $b的值10
2. 引用赋值
引用赋值符号 & 地址引用符
不存在复制操作,直接引用源变量(指向原始内存空间地址),互相影响
$a = 10;
$b = &$a; //$b直接引用$a的值
printf('$a的值%d, $b的值%d', $a,$b);
=> $a的值10, $b的值10
$a = 100;
printf('$a的值%d, $b的值%d', $a,$b);
=> $a的值100, $b的值100
检测与释放变量
isset()
检测变量是否被定义 存在并且不为null返回true,否则返回false
unset()
释放指定的变量,变为空
empty()
检测一个变量是否为空,为空返回true,不为空返回false
常量
- 固定值,不能被重新定义,不能被取消
- 命名不能用$
- 命名推荐全部大写
- php全局成员:常量 函数 类 接口 (不受作用域限制)
定义常量的方式
define()
define('NATION', 'China');
const
const NATION = 'China';
常量与变量的区别
常量的初始化必须赋值
const NATION; => 报错syntax error
$usernam; => 正常
const NATION = 'China'; => 正常