PHP函数(一)-变量

1.全局变量

<?php
	$a = 1;
	$b = 2;
	function test(){
		echo $a + $b."<br>"; //运行结果为0
	}
	test();
	echo $a + $b; //运行结果为3
?>

 可见,在函数中无法直接调用全局变量

test()函数中的变量$a和$b都没有被赋值,进行空值运算,得到结果为0

在函数中使用全局变量可以使用global和$GLOBALS数组

使用global

<?php
	$a = 1;
	$b = 2;
	function test(){
		global $a,$b;
		echo $a + $b."<br>"; //运行结果为3
	}
	test();
	echo $a + $b;  //运行结果为3
?>

使用$GLOBALS数组

<?php
	$a = 1;
	$b = 2;
	function test(){
		echo $GLOBALS['a'] + $GLOBALS['b']."<br>"; //运行结果为3
	}
	test();
	echo $a + $b;  //运行结果为3
?>

 2.局部变量

<?php
	function test($a){
		$b = 1;
		echo $a + $b."<br>"; //运行结果为3
	}
	
	test(2);
	echo $a + $b; //运行结果为0
?>

 函数外不能访问函数内定义的变量,所以函数外进行空值运算,结果为0

如果函数外部需要调用函数内的变量,需要通过return将其值传回到主程序区块

<?php
	function test($a){
		$b = 2;
		return $a + $b;
	}
	$c = test(1);
	echo $c;  //运行结果为3
?>

 3.静态变量

函数中的局部变量都是动态地分配储存空间的,在函数结束调用后自动释放。如果定义静态变量,则函数结束运行后,变量还会保存在内存里,当函数再次执行时,静态变量将接着上次的结果继续运算。

通过static将局部变量设置为静态变量

<?php
	function test(){
		static $a = 0;
		echo $a;
		$a ++;
	}
	test(); //运行结果为0
	test(); //运行结果为1
	test(); //运行结果为2
	test(); //运行结果为3
?>

 

转载于:https://www.cnblogs.com/sch01ar/p/7887489.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值