当从一个函数内include或者require这个php时,这些变量就变成局部变量了,这时候这些global就有作用了,目的是确保这些变量始终是全局变量。如果本来就是在最外层那应该是没啥用的。比如下面的情况: a.php: <?php global $a; $a=1; ?> b.php: <?php function use_a() { include 'a.php'; $a+=1; // do something with $a } function show_a() { global $a; echo $a; } use_a(); show_a(); ?>所以a.php里的global的作用就是确保$a始终是全局变量。
并且在 wp-settings.php 中也没有看到
global $wp_version, $wp_db_version, $tinymce_version, $required_php_version, $required_mysql_version;
只有
require( ABSPATH . WPINC . '/version.php' );
<?php
$a = 1;
$b = 2;function Sum()
{
global $a, $b; $b = $a + $b;
}Sum();
echo $b;
?>
以上脚本的输出将是“3”。在函数中声明了全局变量 $a 和 $b 之后,对任一变量的所有引用都会指向其全局版本。对于一个函数能够声明的全局变量的最大个数,PHP 没有限制。
a.php:
<?php
global $a;
$a=1;
?>
b.php:
<?php
function use_a() {
include 'a.php';
$a+=1;
// do something with $a
}
function show_a() {
global $a;
echo $a;
}
use_a();
show_a();
?>所以a.php里的global的作用就是确保$a始终是全局变量。