php 变量原理讲解
一、变量概念
所谓变量,是指在程序中其值可以变化的量。
程序是管理和处理数据的。在程序运行过程中,我们需要存贮这些数据,变量和常量就是用于保存程序运行时的数据的。
变量通常由两部分组成,变量名 和 变量值
1.1 在php中,定义一个变量,使用$符号,在定义的时候不用理会这个变量是什么数据类型。
1.2 变量赋值,修改,销毁
增,就是赋值,比如$a = “PHP”
改, 重新赋值即可,$a = “Mysql”
查, 通过引用的方式 如 $a
删, 使用unset 如 unset($a)
1.3 Unset 到底干了什么?
去掉了变量引用,然后销毁变量。
二、变量名的规范定义
1. 变量名通常是由字母、数字和下划线组成,不以数字开头。
2. 见名知意
3. 对于一个有多个单词组成的变量名,单词之间如何分割,firstName,first_name。(入乡随俗)
? 注意细节
$不是变量名的一部分,这是php变量语法,意思是后边的标识符是一个变量(特殊的this变量)
当使用一个没有定义的变量时,会报一个notice错误,可以使用isset来检查
变量名是大小写敏感的,建议使用下划线方式
三、变量之间的赋值
在php中,变量赋值默认是采用值传递的方式,这也是php最基本的赋值方式。
还有一种传值的方式,就是引用传递。
? 注意细节
unset一个变量时,删除该变量,以及标识符到变量之间的引用
存在变量名字,已经在内存里存在的变量才满足引用赋值的条件。($bar = &(24 * 7); // 非法;)
四、可变变量
变量名(变量标识符),它还可以是一个变量,这就是可变变量。
简单的例子
五、预定义变量
php中存在很多不需要用户脚本来定义就可以直接使用的变量,称之为预定义变量。
$_POST
$_GET
$_REQUEST
$_SERVER
$_FIELS
$_SESSION
$_COOKIE
$_ENV
$GLOBALS
关于get和post,如果在get和post同时存在一个变量,应该取哪一个值。(在php.ini配置中约定好的)
起作用是后面POST。
$_REQUST = $_POST + $_GET
如果能够明确是post还是get提交,就直接使用post或者get,当不明确的时候,那就可以使用$_REQUEST。
$_SERVER,和HTTP协议以及服务器相关的一些信息。
? 注意细节
使用request时,如果post和get都有一个相同变量名称时,则只保留post,取决于php的配置 request_order = ‘GP‘;
$GLOBALS 引用全局作用域中可用的全部变量
六、变量的作用域
什么是作用域?
指的是变量的生效范围。
全局变量(也就是生效范围,在当前脚本,在脚本运行结束的时候失效。)
局部变量
超级全局
文章转至:http://www.codexueyuan.com/learn/learn-detail30-phpbljj