博客列表 >第二章:4.变量的作用域

第二章:4.变量的作用域

黄忠倚的博客
黄忠倚的博客原创
2018年04月21日 22:44:59565浏览

实例

<?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文件中,都是会自动创建,不用用户手工去创建

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议