设为首页收藏本站 |天气与日历| 2025-07-02 星期三 01:29:00 乙巳(蛇)年 六月初八 丑时
     
切换到窄版

私人站点

 找回密码
 立即注册
搜索
查看: 115|回复: 0

作用域

[复制链接]

954

主题

954

帖子

3879

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3879
发表于 2022-6-8 22:24:46 | 显示全部楼层 |阅读模式
1、全局变量:在函数外面
2、局部变量:在函数里面,默认情况下,函数内部是不会去访问函数外部的变量
3、超全局变量:可以在函数内部和函数外部访问
[PHP] 纯文本查看 复制代码
<?php
$num=10;   
function fun() {
	echo $num;     //Notice: Undefined variable: num  
}
fun();
//函数内部默认不能访问函数外部的值
---------------------
<?php
$_POST['num']=10;   //将值付给超全局变量
function fun() {
	echo $_POST['num'];    //获取超全局的值   10
}
fun();
----------------------------
<?php
function fun() {
	$_GET['num']=10;  //将值付给超全局变量
}
fun();
echo $_GET['num'];  //打印超全局变量的值  10
在函数内部访问全局变量
[PHP] 纯文本查看 复制代码
<?php
$num=10;  //全局变量
function fun() {
	echo $GLOBALS['num'];	//输出全局的$num
}
fun();

global关键字
[PHP] 纯文本查看 复制代码
<?php
$num=10;
function fun() {
	global $num;   //将全局变量的$num的地址引入到函数内部  相当于$num=&GLOBALS['num']
	echo $num;	//10
	$num=100;
}
fun();
echo '<br>';
echo $num;    //100
-----------------------------------
<?php
$num=10;
function fun() {
	global $num;
	unset($num);  //销毁的是引用,不是具体的值
}
fun();
echo $num;    //10  

1、$GLOBALS保存的是全局变量的所有的值
[PHP] 纯文本查看 复制代码
<?php
$a=10;
$b=20;
function show() {
	echo '<pre>';
	var_dump($GLOBALS);   //是一个数组,保存的是全局变量的所有的值
}
show();

2、global用于创建一个全局变量的引用
[PHP] 纯文本查看 复制代码
<?php
/*
define('PI',3.14);
function fun() {
	echo PI;   //3.14
}
fun();
echo '<br>';
*/
-------------------------------------
function fun() {
	define('PI',3.14);
}
fun();
echo PI;   //3.14




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|编程站点 ( 冀ICP备2023028127号-2 )|友链申请|

GMT+8, 2025-7-2 01:29 , Processed in 0.092092 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表