php - 为什么全局变量不需要初始化?
问题描述
令我惊讶的是,全局变量不需要任何初始化就可以在程序中使用。这是我的小片段,迫使我问这个问题:
<?php
function set_variable()
{
global $name;
//$name = "admin";
}
set_variable();
?>
<input type="text" name="name" value="<?php echo $name; ?>" />
执行此代码时,一切正常。但是,如果我不将变量name
设为全局变量,那么我Undefined variable: name
会在文本框中看到。为什么全球会产生巨大的差异?
解决方案
如果变量在函数外部声明,则它已经在全局范围内。所以没有必要将变量声明为全局变量。但是如果你从函数内部调用,你必须使用全局关键字。除非你用全局声明它们,否则这些变量在函数内部是不可访问的。
推荐阅读
- node.js - 对 mongodb 的并发简单请求非常慢
- azure-blob-storage - 使用 Blazor 服务器端,是否可以在大文件上从控制器到客户端获取文件进度上传状态?
- python - 如何将带有 IN 子句的 SQL 参数用于带有 pyodbc 的可变数量的值?
- sql - 试图用 SQL 找出 Liquibase 回滚
- mysql - 连接到 mysql 后保持 ssh 会话处于活动状态
- msbuild - 将 Azure Pipelines 与多目标项目一起使用时出现错误 NETSDK1061
- cmd - 如何将动态创建的文件夹移动到另一个文件夹中?
- c# - 画布内的iText7拆分表-Canvas.AddChild上的异常索引超出范围
- java - 无法使用球衣上传文件以休息 api
- android - 当我从最近的应用程序中删除应用程序时,为什么没有触发警报?