批改状态:未批改
老师批语:
<?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文件中,都是会自动创建,不用用户手工去创建点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号