php中全局变量和局部变量的区别是什么

青灯夜游
풀어 주다: 2023-03-12 17:02:01
원래의
2892명이 탐색했습니다.

区别:1、局部变量是在函数内部定义的变量,只能在定义它的函数内使用;而全局变量是定义在所有函数以外的变量,其作用域是当前源码的任何地方,但是在函数内部是不可用的。2、局部变量会在函数调用结束时自动销毁,全局变量则在程序结束运行时才会被销毁。

php中全局变量和局部变量的区别是什么

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

变量的作用范围(可以被使用的范围)称为变量作用域,变量必须在其有效范围内使用,如果超出有效范围,变量就会失去其意义。按作用域可以将 PHP 变量分为全局变量和局部变量两种。

可以在当前源码中任何地方(函数外部)使用的变量称为全局变量,它们具有全局作用域;只能在对其进行定义的函数内部使用的变量称为局部变量,它们具有局部作用域。

在 PHP 中,全局变量不能直接在函数内部使用;而局部变量也不能直接在函数外部使用。当然这也不是绝对的,通过一些方法还是可以实现在函数内调用全局变量、在函数外调用局部变量的,这些我们会在后面的学习中介绍。

局部变量与局部作用域

局部变量就是在函数的内部定义的变量,它只能在定义它的函数内使用。局部变量会在函数调用结束时自动销毁。

【示例】下面定义一个名为 example 的函数,并在函数内部定义一个局部变量 a,然后分别在该函数内部及函数外部尝试输出变量 a 的值,具体代码如下:

";
}

example();
if ($a) {// 在函数外部调用 $a,如果 $a 存在则会打印下面的内容
	echo "在函数外部调用函数内的局部变量 a,其值为:" . $a;
}
?>
로그인 후 복사

运行结果如下:

1.png

通过运行结果可以看出,在函数外部并不能调用函数内部定义的局部变量,因为局部变量 $a 的作用域是定义它的 example() 函数,在函数以外的地方无法使用。

全局变量与全局作用域

全局变量就是定义在所有函数以外的变量,其作用域是当前源码的任何地方,但是在函数内部是不可用的。在程序运行期间全局变量会一直存在,只有程序结束运行时才会被销毁。

【示例】定义一个全局变量 a,并分别在函数内部和外部输出全局变量的值,具体代码如下:

로그인 후 복사

运行结果如下:

2.png

通过运行结果可以看出,在函数内部并没有成功调用到 $a,但是在函数外部可以。

推荐学习:《PHP视频教程

위 내용은 php中全局变量和局部变量的区别是什么의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!