zoukankan      html  css  js  c++  java
  • 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
Copyright © 2011-2022 走看看