【华安php入门系列】--第2天-php的变量
一、量:
1、php在运行时,所能够处理的数据
2、根据数据类型的不同,分成:变量和常量
二、变量
1、业务逻辑的完成,完成业务所关联的数据的不断变化,这就是:变量
2、变量是由:可以引用该变量的‘ 变量名’和表示该变量内容的 ‘变量值’ 组成。
3、PHP使用 $ 符号来表示 某个名称是一个变量名。变量名不包括$符号,$只是一个标识符,表示$后面的是一个变量名而已。
4、PHP中通过 = 号来表示 变量名 和 变量值 直接的关系。
三、变量名的规则
1、只能有字母、数字、下划线。不能以数字开头。(汉字 可以用做变量名)
2、区分大小写。
四、变量取名方法(实际开发环境要学会给变量起名,这样会提高开发效率)
1、通常一个变量名会有一个或者多个单词组成。
2、常用的方法有:下划线方法、大小驼峰法。 不过实际开发的方法就是按照公司、项目组约定进行就可以了。
五、可变变量名
1、变量名可以被另外的一个变量值充当,要求这个变量名的值是一个合法的变量名。
$name = 'stu_name';
$$name = '努力学好PHP哦!';
var_dump($stu_name); //努力学好PHP哦!
几乎所有的php标识符(变量名、函数名、类名、方法名)都是可以由其他变量值充当的。
六、变量值
1、通过 = 号给一个变量引用一个值,称之为 赋值。
A、什么值可以用来赋值?
a、表达式(可以得到值的语句,还可以是多个值的运算结果、函数返回值)
2、使用一个变量为另一个变量赋值时:
a、值传递的过程
$v1 = 10;
$v2 = $v1; //值传递的过程
$v1 = 20;
var_dump($v2); //10
b、引用传递的过程(在php建议少用,用了也不会有多少优化---这个和php的zval结构有关【后期会做详细解释】)
$v3 = 10;
$v4 = &$v3; //取得$v3的引用
$v3 = 20;
var_dump($v4); //20
七、删除一个变量
用php内置unset($变量名)
1、删除一个变量做了哪些工作呢?
a、消除变量的引用
b、消除当前的变量名
注意:变量值的空间是没有被unset()消除的。那么会导致很多的空间浪费,PHP内部存在一个垃圾回收机制,这个回收机制是根据 引用计数(后期会出专题详解)来做的。
8、检测一个变量是否存在?
使用php内置函数isset($变量名)
9、PHP的9大预定义变量:
1、$_SERVER[] 保存服务器可以获得的一些信息(来源于服务器、浏览器)
echo $_SERVER['REMOTE_ADDR'];
echo $_SERVER['HTTP_USER_AGENT']
echo $_SERVER[SERVER_ADDR];
echo $_SERVER['DOCUMENT_ROOT'];
2、$_GET
通过 URL 参数传递给当前脚本的变量的数组。
http://test.38.com/6.php?name=li
echo 'you name is ' . $_GET['name']; //li
3、$_POST
表单method="post"提交的数据获取
4、$_REQUEST
$_REQUEST 请求,保存所有的请求数据(浏览器带到服务器的数据)。GET和POST的都算
$_REQUEST = $_GET + $_POST 是一个 get和post的合并。
如果既有get数据又有post数据:如果出现冲突,是会保存post的数据。因为是get先放入$_REQUEST内,后放post的会覆盖掉前面的。以上的操作是默认的。可以被配置:PHP的配置request_order进行
5、$_SESSION
6、$_COOKIE
7、$_FILE
通过 HTTP POST 方式上传到当前脚本的项目的数组。 一般上传文件使用。
8、$_GLOBALS
一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
9、$_ENV
环境变量
十、2个传递给脚本的参数的预定义变量($argv, $argc)
以 命令行 的形式运行php脚本时:
php.exe -f d:/amp/apache2.2/htdocs/test/6.php han zhongkang
argv保存 php命令行脚本获得的所有参数(选项)。执行的php的脚本名,也是第一个参数。
argc保存获得的参数 个数。
命令行脚本php所获得的参数 是根据位置决定的。
注意:$this 通常是不可以使用的变量名。
明天继续讲:php常量和数据类型