php变量与常量的定义
- 在php文件中,以一个名称替代它代表的值(数字,字符串等),并且在php文件不断执行的过程中,它替代的值可以变化,这个名称就是一个变量。
- 而常量则是定义后,就不能变化了。
- 变量和常量是一个桶,里面装着的是我们php文件执行中的信息(数值,字符串其他等),每个桶都一个名字,就是变量名或者常量名。
php变量与常量的命名区别
- 变量命名规则:变量名前要加$,以字母或者下划线开头,后面也只能包含大小字母或数字或下划线,其中不能有空格,另外区分大小写。在php中,以下划线开头的变量通常都是php自带的变量。
- 常量命名规则:是一个字符串,通常使用大写
php变量与常量的声明
- php是弱类型语言,在php中,变量不用声明,直接赋值就可以使用了
- 常量通过 define 命令来声明 格式:define("常量名",常量值);
php变量与常量的作用域
- 内置超全局变量
- 在代码任何位置都能访问到
- $GLOBALS
- 包含全局变量的数组
- $_GET
- 包含所有通过GET方法传递给代码的变量的数组
- $_POST
- 包含所有通过POST方法传递给代码的变量的数组
- $_FILES
- 包含文件上传的数组
- $_COOKIE
- 包含cookie变量的数组
- $_SERVER
- 包含服务器环境变量的数组
- $_ENV
- 包含环境变量的数组
- $_REQUEST
- 包含用户所有输入内容的数组(包含$_GET、$_POST和$_COOKIE)
- $_SESSION
- 包含会话变量的数组
- 常量声明后具有全局性,在函数内外都可访问
- 全局global
- 在所有函数外定义的变量,可以被函数外任何一部分访问,函数内要访问要使用global
- 比如定义$x这个全局变量后,要在一个函数内使用时,先要写global $x;这个语句,后面就可以在这个函数里面使用这个变量了。
- php中,所有全局变量都储存在$GLOBAL S[index]这个数组里,index为变量名,使用这个数组,就不用在函数内先写global $x;这个语句了
- 局部local
- 在函数内定义的变量,只能在函数内访问,不同函数的变量名可以重复
- 静态static
- 是函数内的变量,函数外无法访问。正常函数结束后,函数内的变量会被删除,而在赋值变量的前面使用static后,在第一次执行函数后一直保留这个变量及其值,下一次执行这个函数时,会直接使用这个变量及其值。
- 参数parameter
- 函数外无法访问,本函数终止时失效。
内置常量
- php预定义了很多系统内置常量
- _FILE_
- 文件的完整路径和文件名,若引用文件(include或者require)则在引用文件内的该常量为引用文件名,而不是引用他的文件名
- _LINE_
- php程序行数,若引用文件(include或者require)则在引用文件内的该常量为引用文件行数,而不是引用他的文件行数
- PHP_VERSION
- php程序版本
- PHP_OS
- 执行php解析器的操作系统名称
- TRUE
- 真值(true)
- FALSE
- 假值(false)
- E_ERROR
- 指到最近的错误处
- E_WARNING
- 指到最近的警告处
- E_PARSE
- 指到解析语法有潜在问题处
- E_NOTICE
- ?发生不寻常但不一定是错误处
- _DIR_
- 文件所在的目录
- _FUNCTION_
- 函数的名称,php5开始返回该函数被定义时的名字,并且区分大小写
- _CLASS_
- 类的名称,php5开始返回该类被定义时的名字,并且区分大小写
- _FILE_
可变变量以及变量的引用
$a="1";
$b="a";
$$b为可变变量 其变量值为“1”,这里$$b相当于$a相当于“1”
$a="2";
$a= &$b;
这是变量的引用,相当于给变量a起了个别名b,变量b和变量a指向同一个变量,修改任何一个,另外的一个也会改变,或者说常量是一个桶,俩个变量名指向同一个桶
评论