ホームページ > php教程 > php手册 > PHP任务学习2:认清变量的作用范围

PHP任务学习2:认清变量的作用范围

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 09:44:29
オリジナル
1351 人が閲覧しました

局部变量与全局变量

变量的存在有着它的生命周期,我们可以让它存在于一个小的函数内部,也可让它存在于整个程序当中。对于一般情况下声明的变量,我们称之为局部变量,只能在当前程序段中存在,而使用$globals声明出来的变量则是在当前页面整个程序当中都会有效。

例:

Copy to Clipboard引用的内容:[www.bkjia.com]

 <?php<br />
	$a=1;<br />
	$b=2;<br />
	function sum()<br />
	{$a;<br />
	$b;<br />
	$b=$a+$b;<br />
	}<br />
	sum();<br />
	echo$b;<br />
	?>
ログイン後にコピー

在这段程序当中,

第2至3行,我们建立了两个变量a和b并分别给其赋值为1和2。

第3行至第7行,我们定义了一个自加的函数sum(),其作用是让sum内部的变量a和b进行相加,并将加得的值赋给b。

第8行,调用sum函数。

第9行,用echo将b的值输出。

可能有人会认为此时在网页上输出的值一定是3,但是运行后你会发现,值还是为2,也就是b原先的值。这就是局部变量的原因造成的,在第2至3行当中声明的变量无法在sum()函数中使用,也就是说,sum函数中使用的a和b和第2至3行中a和b只是名字相同,但两者之间毫无关系。所以,在最终输出的b也就是第3行b的值了。

但如果,我们将程序修改下面的样式:

Copy to Clipboard引用的内容:[www.bkjia.com]

<?php<br />
	$a=1;<br />
	$b=2;<br />
	function sum()<br />
	{<br />
	global $a,$b;<br />
	$b=$a+$b;<br />
	}<br />
	sum();<br />
	echo $b;<br />
	?><br />
	<PRE><br />
	<BR><BR>
ログイン後にコピー

我们发现,在sum函数中,我们给变量a和b加上了一个global修饰符,这个时候,a和b就和函数外的a和b建立上了关系,它们就是同一个变量了。因此,这个程序在运行的时候,其结果就为3了。因此,我们在声明全局变量时,只需在局部使用它们时(本例中是在函数sum中),给它们加上一个修饰符global,它们就可以继承外部的值,也就不再是局部变量了。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート