全局变量我只是遇到了一段代码,这使得通过使全球能够访问的变量,开始思考如果是从其他语言的方法不同/行为访问函数
<?php
$a1 = "WILLIAM";
$a2 = "henry";
$a3 = "gatES";
echo $a1 . " " . $a2 . " " . $a3 . "<br />";
fix_names();
echo $a1 . " " . $a2 . " " . $a3;
function fix_names()
{
global $a1; $a1 = ucfirst(strtolower($a1));
global $a2; $a2 = ucfirst(strtolower($a2));
global $a3; $a3 = ucfirst(strtolower($a3));
}
?>
的代码访问的变量在函数外部定义,并使它们在函数内部是全局的。其他语言不太可能。例如,我们用C语言在全局空间中编写变量并使它们成为全局变量,因此我们可以在函数内部访问它们。所以我们首先让他们全球化,然后到处访问它们。在上面的代码中,我们首先在函数内部访问它们(也我不明白我们如何可以访问$ A1,A2 $,$ A3内部功能时,他们没有作为参数传递),然后让他们全球。这是因为PHP处理器的任何不同行为。
而且我不明白我们如何才能使全球的变量从它的声明别处了。
对不起,这可能不是问究竟在何处的代码被打破了问题,但我相信理解为什么代码写在一个特定的方式,以及为什么它在一个特定的行为方式也很重要。
把它(希望)在很大程度上被清除的话
我想知道:在函数内部,当我们创建一个具有相同的名称作为变量已经在外部范围存在一个全局变量,它实际上全局化外部作用域中的变量,而不是创建新的全局变量(具有空值)。是这样吗?如果是与其他语言没有区别?那么这种独特行为背后有什么理由吗?
你知道什么时候使用'函数...里面global'?我在问,因为你说过,“在上面的代码中,我们首先在函数内部访问它们,然后使它们成为全局的。” – NazKazi
总之告诉我你究竟想知道什么......?如何在函数内部使用全局变量......? – NazKazi
@BlackCobra问题追加 – Mahesha999