php,函数外变量

PHP 中,有两种类型的变量:局部变量和全局变量。局部变量仅在拥有它的函数内部可见,而全局变量则在整个脚本中都可见。函数外变量也叫全局变量,通常是在一个函数外定义并且在所有函数内都可以使用。

定义函数外变量

可以使用 `$GLOBALS` 数组来定义函数外变量。`$GLOBALS` 是一个 PHP 超全局变量,它是一个关联数组,包含所有的全局变量。

例如:

```php

$name = "John";

function show_name() {

global $name;

echo $name;

}

show_name(); // 输出 "John"

```

在这个例子中,`$name` 是一个函数外变量。在 `show_name()` 函数中,我们通过使用 `global` 关键字来引用 `$name` 变量,从而使其在函数内部可用。

注意:在函数内部直接使用全局变量可行,但如果您试图给一个全局变量赋新值,或者使用 `unset()` 函数删除它,您必须使用 `global` 关键字。这样可以告诉 PHP,您在引用全局变量而不是局部变量。

```php

$name = "John";

function change_name() {

$name = "Bob";

}

function show_name() {

global $name;

echo $name;

}

change_name();

show_name(); // 输出 "John"

```

在这个例子中,`$name` 被定义为函数外变量,并初始化为 `"John"`。`change_name()` 函数试图为 `$name` 赋新值 `"Bob"`。但是,由于 `$name` 只是一个局部变量,在该函数范围内没有影响。`show_name()` 函数尝试输出 `$name` 的值,但因为 `$name` 仍然是 `"John"`,所以输出结果是 `"John"`。

预定义全局变量

PHP 在超全局变量中也提供了一些预定义的全局变量,例如 `$_SERVER`、`$_POST`、`$_GET` 和 `$_REQUEST`。这些变量包含与 Web 服务器或 Web 应用程序相关的信息,以及提交给脚本的数据等。预定义全局变量是自动构建的数组,其中包含各种信息。

例如:

```php

echo "服务器名字是:" . $_SERVER['SERVER_NAME'];

```

在这个例子中,`$_SERVER` 是一个预定义全局变量,包含与 Web 服务器相关的信息。我们通过索引 `$_SERVER` 数组并取出 `"SERVER_NAME"` 索引的值来输出服务器的名称。

注意:预定义全局变量的值可以在运行时更改,但改变全局变量的值可能会影响其他部分的代码,并增加代码中的错误。谨慎使用预定义全局变量,并确保仅在必要情况下更改它们的值。

结语

在 PHP 中,函数外变量具有全局作用域,可以在整个脚本中使用。我们使用 `global` 关键字来引用和修改函数外变量的值。预定义全局变量是构建在 `$GLOBALS` 超全局变量之上的数组,其中包含与 Web 服务器或 Web 应用程序相关的信息。使用全局变量时要小心,注意避免不必要的更改和错误。

壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。

我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!

点赞(37) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部