PHP--变量部分知识点

时间:2024-08-23 16:08:14

PHP全局变量

PHP全局变量作用域不同与C,在函数内部不可以使用全局变量,要在函数内部使用全局变量需要,global $var或者使用超全局变量数组$GLOBALS['var']。

静态变量

PHP静态变量在函数内部存在,当函数执行完之后,静态变量不会被释放,其值依然存在。

函数内部声明的静态变量在函数外部是不能使用的。

//下面$a只有第一次调用test的时候会被初始化
function test()
{
static $a = 0;
echo $a;
$a++;
}
echo test(); //
echo test(); //
echo test(); //
echo test(); //

静态变量的声明

//不能用表达式的结果对静态变量赋值
static $int = 1+2; // wrong (as it is an expression)
static $int = sqrt(121);

超全局变量

$GLOBALS-- 引用全局作用域中可用的全部变量

$_SERVER-- 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。

$_GET--接受通过URL传递过来的参数

$_POST--接受HTTP的POST方式提交的参数

$_FILES--接收POST上传的文件

$_REQUEST--默认情况下包含了 $_GET$_POST 和 $_COOKIE 的数组。

$_SESSION--当前脚本可用 SESSION 变量的数组

$_ENV

$_COOKIE

$php_errormsg--输出PHP最新的错误消息

<?php
echo @$b;
echo $php_errormsg; //Undefined variable: b

$http_response_header-- HTTP 响应头,跟get_headers()函数类似,都是获取响应头的信息。

$argc — 传递给脚本的参数数目( register_argc_argv 打开时可用)

$argv — 传递给脚本的参数数组( register_argc_argv 打开时可用)