0502 php-变量、常量

变 量

1.变量必须以$开头,后面紧跟变量名。

2.注意以下情况:

  echo  “人民币符合¥像个羊,美元符号$象个钱”;        //“$象个钱”会被识别为变量

3.与js的不同:

  不支持“只定义不赋值”;

  “赋值”是使一个变量名使用一个值;

4.两个方法:isset() / unset()

  isset():判断变量名是否存在,存在返回1-true,不存在返回0-false(如果一个变量的值是null-不符合变量定义规则,也是返回false)

  unset():断开变量名跟数据之间的“引用关系”

5.命名规则:

  数字(不能开头)、字母、下划线;不能与系统关键字重名

6.传值方式(值传递 / 引用传值):

  值传递(默认):只是将值复制一份进行传递,复制完成后两个变量相互独立。

  

  引用传值:将引用关系同时复制传递。关键符号&

  

7.可变变量

  一个变量a的值,是另一个变量的名。理论上可多层嵌套:

  

8.预定义变量(超全局变量):数据类型是数组

  常用的:$_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS,  $_COOKIE, $_SESSION...

  $_GET:

    常用形式1:<a  href=”abc.php?uName=test1&uPwd=123”  > 提交</a>  //不能有空格

    常用形式2:<script>  location.href = “abc.php?uName=test1&uPswd=123”;   </script>  //不能有空格

    

  $_POST(多用于表单的数据提交):

    用法同$_GET,要注意多选框的name值要用数组的形式命名。

常 量

1.定义(通常全大写):

  define(“常量名”, 常量值)  //常用形式

  const  常量名 = 常量值  //只能在“最顶层”的代码域中使用

2.使用:

  直接使用 / constant(“常量名”);  //常量在双引号字符串中不能识别

3.常量与变量的区别:

  定义/使用形式不同:常量无需$符号

  可变程度不同:常量的值不可以改变,常量也不可以销毁

  作用范围不同:常量具有超全局作用域 (函数内外都可以直接使用)

  可用类型不同:常量只能存储标量类型:int,float,string,bool

4.判断常量是否存在:defined()

  常用形式:if ( defined (某常量名) == false ){ 这里可以去定义该常量;}

  或者:$result = defined (某常量名);    //结果是true或false

5.预定义常量(可以直接使用的)

  比如:M_PI(圆周率), PHP_OS(操作系统), PHP_VERSION(php版本号),PHP_INT_MAX(php中的最大的整数值)

  参考手册>附录>保留字列表>预定义常量

6.魔术常量(值会随着一定的条件(环境)而变化的常量)

  比如(都是两个_):__DIR__(当前网页文件的所在目录),__FILE__(当前网页文件),__LINE__(当前这一行)

  参考手册>语言参考>常量>魔术常量

原文地址:https://www.cnblogs.com/flypea93/p/8981358.html