当前位置: 首页 > 编程笔记 >

PHP 用户定义的全局变量

周凯捷
2023-03-14
本文向大家介绍PHP 用户定义的全局变量,包括了PHP html" target="_blank">用户定义的全局变量的使用技巧和注意事项,需要的朋友参考一下

示例

任何函数或类之外的范围都是全局范围。当PHP脚本包含另一个脚本(使用include或require)时,范围保持不变。如果脚本包含在任何函数或类的外部,则其全局变量包含在同一全局范围内,但是如果脚本包含在函数内部,则所包含脚本中的变量位于函数的范围内。

在函数或类方法的范围内,global关键字可以用于创建访问用户定义的全局变量。

<?php

$amount_of_log_calls = 0;

function log_message($message) {
    // 从函数范围访问全局变量
    // 需要这个明确的陈述
    global $amount_of_log_calls;

    // 对全局变量的更改是永久的
    $amount_of_log_calls += 1;

    echo $message;
}

// 在全局范围内时,可以使用常规全局变量
// 没有明确说明“全局$variable”;
echo $amount_of_log_calls; // 0

log_message("第一条日志消息!");
echo $amount_of_log_calls; // 1

log_message("第二条日志消息!");
echo $amount_of_log_calls; // 2

从全局范围访问变量的第二种方法是使用特殊的PHP定义的$GLOBALS数组。

$GLOBALS数组是一个关联数组,其全局变量的名称为键,该变量的内容为该数组元素的值。注意$GLOBALS在任何范围内如何存在,这是因为$GLOBALS是一个超全局变量。

这意味着该log_message()函数可以重写为:

function log_message($message) {
    // 通过访问全局$amount_of_log_calls变量
    //$GLOBALS数组。不需要'global $GLOBALS;',因为它
    // 是一个超全局变量。
    $GLOBALS['amount_of_log_calls'] += 1;

    echo $messsage;
}

有人会问,为什么同时使用global关键字$GLOBALS来获取全局变量的值呢?主要原因是使用global关键字会将变量带入范围。然后,您将无法在本地范围内重用相同的变量名。

 类似资料:
  • 问题内容: 是否可以使用webpack定义全局变量以产生如下所示的结果: 我看到的所有示例都使用外部文件 问题答案: 有几种方法可以处理全局变量: 1)将变量放入模块中。 Webpack仅对模块进行一次评估,因此您的实例保持全局状态,并在模块之间进行更改。 因此,如果您创建像a之类的东西并导出所有全局变量的对象,则可以读取/写入这些全局变量。您可以导入一个模块,从功能中对对象进行更改,然后导入另一

  • 本文向大家介绍PHP预定义超全局数组变量小结,包括了PHP预定义超全局数组变量小结的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP预定义超全局数组变量。分享给大家供大家参考,具体如下: 1.PHP 预定义的超全局变量数组 特性: a.特殊的数组,操作方式没有区别 b.不用声明,php脚本中默认存在,因为在php中不用定义,所以在自定义变量是应避免和预定的全局变量同名 c.在全局范围内

  • 问题内容: 在以下片段中 内部是一个新变量, 外部 将保持为空。 通过显式定义短变量定义并将其替换为赋值,似乎可以正确地初始化外部变量 有没有一种更简单的方法来指定内部变量,而不是实际上是作用域变量,而是全局变量?我在想类似的东西,但这在包本身内部无效。 问题答案: 不,就是这样。只是 New()( https://golang.org/doc/effective_go.html#allocati

  • 本文向大家介绍PHP 超全局变量,包括了PHP 超全局变量的使用技巧和注意事项,需要的朋友参考一下 示例 超全局变量由PHP定义,并且始终可以在没有global关键字的任何地方使用。            

  • 预定义的全局变量和函数 Javascript 预定义了很多全局变量和函数,应当避免把它们用做变量名和函数名。如果用它们创建变量或函数,就会得到一个错误( 如果为只读 )或重定义了已经存在的变量或函数。不应该这样做,除非绝对明确自己在做什么。 arguments Array Boolean Date decodeURI decodeURIComponent encodeURI encodeURICo

  • 本文向大家介绍使用配置类定义Codeigniter全局变量,包括了使用配置类定义Codeigniter全局变量的使用技巧和注意事项,需要的朋友参考一下 CodeIgniter中公共函数不能追加,可以通过 helper 辅助函数实现。 创建 common_helper.php 文件,定义所需公共函数,存放至 application/helpers 目录中。 在 application/config/