博客列表 >1. php数据类型,变量与常量

1. php数据类型,变量与常量

小杂鱼
小杂鱼原创
2021年08月05日 00:34:01614浏览

php的数据类型

数据类型 标量类型 复合类型 特殊类型
1 bool 布尔型 array 数组 null
2 int 整形 object 对象 resource 资源类型
3 string 字符串
4 float 浮点型

php变量命名规则

变量:指代码中需要暂存的数据载体,可以复用,按名访问

  1. 变量命名要有规则
  2. 变量名不能以数字开头,可以以字母或下划线开头
  3. 变量区分大小写,函数不区分大小写
  4. 多个单词组成的变量用驼峰法命名:userName, passWord

php变量类型的转换

1.临时转换

强制类型转换

  1. $uid = 1;
  2. (bool)$uid => bool(true) => boolean
  3. (int)$uid => int(1) => integer
  4. (string)$uid => string(1) => string
  5. (float)$uid => float(1) => double
  6. (array)$uid => array(1) { [0]=> int(1) } => array
  7. (object)$uid => object(stdClass)#1 (1) { ["scalar"]=> int(1) } => object

系统自动转换变量类型

  1. $uid = '1'; => string(1) "1"
  2. $uid += 5.5; => float(6.5)
  3. $uid += 1; => int(2)
  1. $uid = null; => null
  2. $uid += 1; => int(1)
  3. $uid += '1'; => int(1)
  1. $username = null;
  2. (bool)$username) => bool(false)
  3. // null 在布尔类型中被转换成false

2.永久转换

  1. $uid = '1'; => string
  2. settype($uid, 'int'); =>integer/int
  3. settype($uid, 'float'); =>double/float

变量赋值

1. 传值赋值

将源变量的值 复制出一份新的值(新的内存空间地址)给另一个变量,同时修改两个变量的值,互不影响

  1. $a = 10;
  2. $b = $a;
  3. printf('$a的值%d, $b的值%d', $a,$b);
  4. => $a的值10, $b的值10
  5. $a = 100;
  6. printf('$a的值%d, $b的值%d', $a,$b);
  7. => $a的值100, $b的值10

2. 引用赋值

引用赋值符号 & 地址引用符

不存在复制操作,直接引用源变量(指向原始内存空间地址),互相影响

  1. $a = 10;
  2. $b = &$a; //$b直接引用$a的值
  3. printf('$a的值%d, $b的值%d', $a,$b);
  4. => $a的值10, $b的值10
  5. $a = 100;
  6. printf('$a的值%d, $b的值%d', $a,$b);
  7. => $a的值100, $b的值100

检测与释放变量

isset()

检测变量是否被定义 存在并且不为null返回true,否则返回false

unset()

释放指定的变量,变为空

empty()

检测一个变量是否为空,为空返回true,不为空返回false

常量

  1. 固定值,不能被重新定义,不能被取消
  2. 命名不能用$
  3. 命名推荐全部大写
  4. php全局成员:常量 函数 类 接口 (不受作用域限制)

    定义常量的方式

    define()

    1. define('NATION', 'China');

    const

    1. const NATION = 'China';

    常量与变量的区别

    常量的初始化必须赋值

    1. const NATION; => 报错syntax error
    2. $usernam; => 正常
    3. const NATION = 'China'; => 正常
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议