Blogger Information
Blog 41
fans 0
comment 0
visits 31027
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
细说PHP的变量与常量
陈强
Original
717 people have browsed it

变量

变量命名规则

  • 1.变量命名必须使用标识符$
  1. $name = 'jack';
  • 2.变量命名只能使用英文字母(a~z,A~Z)、数字(0~9)、下划线 _
  1. //合法命名
  2. $name = 'jack';
  3. $_money = 100;
  4. $title1 = '变量命名';
  5. //非法命名
  6. $user-name = 'jack';
  • 3.变量命名不能使用数字开头
  1. //非法命名
  2. $1name = 'jack';
  • 4.变量名严格区分大小写
  1. //下面的两个变量名虽然只有一个字母区分大小写,但是不是同一个变量
  2. $username = 'jack';
  3. $userName = 'jerry';
  • 5.变量名用小驼峰式写法:第二个单词开始首字母大写
  1. $userName = 'jerry';

传值赋值与引用赋值

  • 传值赋值

    将变量的值复制出一份,将新值内存空间地址赋值给新的变量名字。修改两个变量的值时还不影响

  • 引用赋值

    引用赋值相当于给变量起了一个别名,两个变量指向同一个内存空间地址

常量

  • define声明

    可以声明在运行阶段,如:if语句,函数中

  1. if(true) {
  2. define('USERNAME','jack');
  3. //const 关键字不能在运行语句中声明
  4. }
  • const声明

    只能声明在编译阶段

  1. const AGE = 28;
  2. `

数据类型转换

临时转换:不会改变原始数据的类型

  • (int) 数据转换成整型
  1. $str = '123';
  2. echo gettype((int)$str);
  3. //输出数据类型:integer
  • (string)数据转换成字符串
  1. $num = 123;
  2. echo gettype((string)$num);
  3. //输出数据类型:string
  • (array) 数据转换成数组
  1. $num = 123;
  2. echo gettype((array)$num);
  3. //输出数据类型:array
  4. echo gettype($num);//输出数据类型仍然是integer

自动转换

  • 转换成数值型的原则

    • 1.数值字符串转换为数值
    • 2.数字开头的字符串,只取数字部分,其他舍弃
    • 3.不是以数字开头的字符串转换为0
    • 4.true 转换为1;false转换为0
    • 5.null转换为0
  • 转换成字符串的原则

    • 数值转换成字符串即数值本身;

 - 布尔型的true转换成字符串’1’;false转换成空字符串’’

 - null转化成空字符串’’

  • 转换成布尔值的原则

    • 整数0,浮点数0.0和字符串’0’转换为false;

 - 空字符串’’转换成false

 - null转化成false

  • 空数组array[]转换为false

  • 其他转换为true

强制转换

  • settype()关键字
  1. $num = 3.14;
  2. $num1 = settype($num, 'int');
  3. var_dump($num);//输出int(3)

数据类型检测

  • 标量数据
关键字 说明
is_int() 是否是数值类型
is_string() 是否是字符串类型
is_bool() 是否是布尔类型
  • 复合数据
关键字 说明
is_array() 是否是数组类型
is_object() 是否是对象类型
  • 特殊类型
关键字 说明
is_null() 是否是null类型
is_resource() 是否是资源类型
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:例子少了
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post