php基础--快速复习记录3-变量
变量
-
基础
以$符号标志一个变量,变量名为下划线或字母开头,面接任意个下划线,字母,数字,正则表示为[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
<?php
$a = 5//一般
$ñ = 6//意思是除了ascii码值在127到255之间,按照官网给的说法也是可以作为合法变量名的,试了下确实合法
$我 = '我';xn--%20-x68d0iu2a81xpwxnymbsbw72c8fg
- 变量的操作:增改查删:
<?php $a=5;$a=6;echo $a;unset($a)?>
- 变量的赋值:
<?php
$a = 5;
$b = $a;//传值赋值,但二者的引用这个时候是指向同一个数据的,在任何一个修改值的时候修改引用。
$c = &$a;//引用赋值,相当于给原变量名取了个别名,二者一直指向同一数据。
unset($c);//删除引用
- 可变变量
<?php
$a = 'b';
$b = 'c';
$c = 'd';
echo $$a;//输出c
echo ${${$a}};//保持良好的阅读,用{}界定
?>
-
预定义变量
$_GET 接收GET方式传递过来的数据
$_POST 接收表单以POST传递过来的数据
$_REQUEST =$_GET + $_POST
$_SERVER 保存服务器、浏览器相关的数据
$_ENV 保存环境变量相关的数据
$_COOKIE 保存COOKIE数据
$_SESSION 保存SESSION数据
$_FILES 接收上传文件的数据
$GLOBALS 可以引用全局范围内可见的变量
$argc $argv 保存命令行程序接收的参数数量和数据
$php_errormsg — 前一个错误信息
$HTTP_RAW_POST_DATA — 原生POST数据
$http_response_header — HTTP 响应头
-
变量范围
- 局部变量 //只局部可见可用
- 全局变量 //脚本运行过程可见可用,局部不可用
- 超全局变量//所有范围可见可用 $GLOBALS数组,或者global关键字
- 静态变量//生命周期时全局,但只在局部可见可用 static
-
isset()和empty()区别
<?php
$a = '';
$b = 0 ;
$c = '0';
$d = [];
$e = null;
$f = false;
$g = 0.0;
echo empty($a),empty($b),empty($c),empty($d),empty($e),empty($f),empty($g),empty($j);//输出全为1,以上全都会被认为空。当然未定义的$j也是空
echo isset($j);//输出false,未定义
?>