php的超全局變量是什么?怎么用?
來源:不言
發(fā)布時(shí)間:2018-12-28 10:47:25
閱讀量:958
php變量大致可分為全局變量和局部變量,簡單的區(qū)別在于局部變量在函數(shù)中定義,只能在函數(shù)中使用,全局變量在函數(shù)外部定義,可以在任何地方進(jìn)行引用和更改,但是在php中還有一種變量叫做超全局變量,本篇文章就來給大家介紹關(guān)于php的超全局變量的含義和用法。

php超全局變量是什么?
在php函數(shù)中使用全局變量時(shí),我們需要用global關(guān)鍵字來聲明所使用的內(nèi)容,但是如果沒有用global關(guān)鍵字來聲明的變量我們稱之為超全局變量。
超全局變量是php中定義的變量,不能由用戶任意添加,它主要存儲(chǔ)從Web服務(wù)器接收的值。
我們來看一下超全局變量的類型和格式
php中目前有九種超全局變量
1 2 3 4 5 6 7 8 9 | 1、 $GLOBALS
2、 $_SERVER
3、 $_GET
4、 $_POST
5、 $_FILES
6、 $_COOKIE
7、 $_SESSION
8、 $_REQUEST
9、 $_ENV
|
這些是關(guān)聯(lián)數(shù)組,因此它們與其他數(shù)組使用一樣。
例如,如果訪問https://server.com/user.php?id=123的URL,使用$ _GET $ _GET [“id”],就能獲取“123”。
下面我們來看具體的示例
代碼如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <?php
session_start();
if (isset( $_REQUEST [ 'clear' ])) {
session_destroy();
header( 'Location: ' . $_SERVER [ 'DOCUMENT_URI' ], true, 301);
}
if (isset( $_REQUEST [ 'name' ])) {
$list = $_SESSION [ 'list' ] ?? [];
$list [] = $_REQUEST [ 'name' ];
$_SESSION [ 'list' ] = $list ;
}
$_SESSION [ 'count' ] = intval ( $_SESSION [ 'count' ] ?? 0)+1;
?>
<!DOCTYPE html>
<html>
<head>
<meta charset= "UTF-8" >
<meta name= "viewport" content= "width=device-width, initial-scale=1.0" >
<meta http-equiv= "X-UA-Compatible" content= "ie=edge" >
<title>超全局變量</title>
</head>
<body>
<p><?= $_SESSION [ 'count' ] ?>輸入內(nèi)容</p>
<form method= "post" >
<input type= "text" name= "name" >
<button type= "submit" >提交</button>
<a href= "?clear" >清除</a>
</form>
<ul>
<?php
if (isset( $list )) {
foreach ( $list as $name ) {
?><li><?= $name ?></li><?php
}
}
?>
</ul>
</body>
</html>
|
運(yùn)行結(jié)果如下
