php基础2

静态变量static

<?php
	function myTest()
	{
		static $x=0;
		echo $x;
		$x++;
		echo PHP_EOL; //换行符
	}
myTest();//0
myTest();//1
myTest();//2
?>

每次调用函数时,该变量将会保留着函数前一次被调用时的值,该函数还是局部变量。

参数的作用域

参数是通过代码将值传递给函数的局部变量。
参数是在参数列表中声明的,作为函数声明的一部分。

<?php
	function myTest($x){
		echo $x;
	}
	myTest(5);//5
?>

$x是形参,也就是模型,假的。
5是实参,是真实存在的。

笔记(心得):

  1. 定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。
  2. 函数内定义的变量就是局部变量,它的作用域为函数定义范围内。
  3. 函数之间存在作用域互不影响。
  4. 函数内访问全局变量需要global关键字或者使用$GLOBALS[index]数组。
  5. 在PHP中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中没有全局变量相同的变量,也会覆盖,如下:
<?php
	$a=3;
	$b=5;
	function myTest()
	{
		echo $a-$b;//0
	}
	myTest();
?>

上面案例可以看出,局部变量没有获取到全局变量。
想要获取到全局变量,必须要使用以下两个代码:

<?php
	$a=5;
	$b=3;
	function a1()
	{
		gloabal $a,$b;
		echo $a-$b;//2
	}
	a1();

	function a2()
	{
		echo $GLOBALS['a']-$GLOBALS['b'];//2
	}
	a2();
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值