Blogger Information
Blog 26
fans 0
comment 1
visits 18601
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP课程第17天 PHP变量的作用域
Sam徐民强的博客
Original
531 people have browsed it

PHP变量的作用域有三个

1。全局:函数之外创建,仅在当前脚本除函数之外的地方使用

2。局部:函数内创建,仅能在函数内访问,外部无法访问

3。静态:函数内创建,仅在声明的当前函数中使用,函数执行完他的值就没有了

//全局变量
$siteName='PHP课程';
//全局变量自动成为全局数组中的一个键值对
$$GLOBALS['siteName'] = 'PHP课程';//全局变量替代语法


/*
函数:是脚本中具体特定功能的代码块,可重复调用
1。语法:
	a。函数声明:function  funName($var){...执行代码...}
	b.函数表达式:$funName=function($var){...执行代码...}
2.调用:
	a。按名称调用:funName($var)
	b.自调用:声明与调用同时完成
	(function (var){...执行代码...})()
 */

function hello(){
	global $siteName;//引用全局变量,使用全局变量数组,不比声明引入
	$userName='Sam Xu';//局部变量

	return $userName .' : 欢迎学习'.$GLOBALS['siteName'];
}
echo hello();//函数调用

echo "<hr>";


//静态变量
function myStatic(){
	static $num=1;
	return '第'.$num.'次输出'.$num++.'<br>';
}
echo '第一次输出后$num值:'.myStatic().'<br>';
echo '第一次输出后$num值:'.myStatic().'<br>';
echo '第一次输出后$num值:'.myStatic().'<br>';
echo '第一次输出后$num值:'.myStatic().'<br>';


/*
 * 超全局变量:$_SERVER,$_COOKIE,$_SESSION,$_GET,$_POST,$_REQUEST
 * 1. 属预定义变量,全部是数组,拿来就用,不需要声明;
 * 2. 跨作用域,在全局和局部(函数内部)都可以直接使用;
 * 3. 跨作用域不是跨脚本,所谓超全局,包括全局,都是指在当前脚本文件中。
 */
echo "<hr>";

//可以在全局直接引用
echo '我的学习课程:'.$_GET['name'];//demo3.php?name=php

function sayName(){
	//超全局变量不用使用关键字global进行声明
	return '我的学习课程:'.$_GET['name'];
}
 
echo "<hr>";
echo sayName();


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post