php的超全局变量是什么?怎么用?

来源:不言 发布时间:2018-12-28 10:47:25 阅读量:947

php变量大致可分为全局变量和局部变量,简单的区别在于局部变量在函数中定义,只能在函数中使用,全局变量在函数外部定义,可以在任何地方进行引用和更改,但是在php中还有一种变量叫做超全局变量,本篇文章就来给大家介绍关于php的超全局变量的含义和用法。

php

php超全局变量是什么?

在php函数中使用全局变量时,我们需要用global关键字来声明所使用的内容,但是如果没有用global关键字来声明的变量我们称之为超全局变量。

超全局变量是php中定义的变量,不能由用户任意添加,它主要存储从Web服务器接收的值。

我们来看一下超全局变量的类型和格式

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

这些是关联数组,因此它们与其他数组使用一样。

例如,如果访问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'] ?>输入内容</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>

运行结果如下

php


标签: PHP
分享:
评论:
你还没有登录,请先