Correction status:Uncorrected
Teacher's comments:
<?php echo '<h2>4.变量的作用域</h2>'; echo '<hr color="red">'; /医院 *作用域只有三个 *1.全局:函数之外创建的 *2.函数:函数内创建 *3.静态:函数内创建的,但是仅在函数中使用 * */ $siteName = 'PHP中文网www.php.cn'; //全局:只要不在函数里创建的,他就是全局 //全局变量数组 // $GLOBALS = ['siteName'] //全局 // 如果说:我们创建了一个全局变量叫$siteName,这个变量会自动成为当前数组中的一个元素。 // 这个数组的键名,就是当前创建的变量名;在任何地方引用这个数组,就相当于引用了这个全局变量。 /医院 *函数:是脚本中具有特定功能的代码段,可以重复调用 *基本语法: * 1.声明:function function(org) {#code...} * 2.表达式:$function = function (args) {#code...} *调用:按明调用(按名称调用,后面一定要加括号) function(args) * */ function hello () { //函数内部是不能直接访问到全局变量的 global $siteName; //关键字global 声明全局变量 $userName = 'Kevin Wong'; //在函数内创建,叫局部 // return '欢迎来到'.$siteName.',我是:'.$userName; return '欢迎来到'.$GLOBALS['siteName'].',我是:'.$userName; } echo hello(); echo '<hr color="red">'; // echo $userName; //在外部也不能直接访问到全局变量的 //静态变量: function myStatic() { static $num = 1; //$num变量前面加关键词,可限制一下,这样的话它就变成静态变量,之个变量之后在第一次之行之后赋值,后面不再赋值。 // $num = 1; return '第'.$num.'次输出'.$num++.'<br>'; } echo myStatic(); echo myStatic(); echo myStatic(); echo myStatic(); echo myStatic(); //超级全局变量:直接引用,不需要声明! /医院 * 超级全集全局变量:跨作用域,不跨脚本文件! * $_SERVER,$_COOKE,$_SESSION,$_GET,$_POST,$_REQUEST * $_REQUEST = $_GET + $_POST + $_COOKIE */ echo '<hr color="red">'; //可以在全局直接引用全局变量 echo '我的姓名是:'.$_GET['name']; echo '<hr>'; //在函数中引用超级全局变量 function sayName () { return '我的姓名是:'.$_GET['name']; } echo sayName(); //超全局变量是系统预定义的,在用户创建的每一个php文件中,都是会自动创建,不用用户手工去创建
点击 "运行实例" 按钮查看在线实例