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
    ?>
    
  • 相关阅读:
    综合疑问
    MySQL查询优化器工作原理解析
    mysql配置文件参数详解
    MySQL查看、创建和删除索引的方法
    删除maven仓库中的lastUpdate文件
    加密算法的概述
    .bat脚本基本命令语法
    spring-core中@Order和Ordered接口的源码解析说明
    spring-context中@Profile注解的源码解析说明
    spring-context中@Bean的源码解析说明和它与其他注解的结合使用
  • 原文地址:https://www.cnblogs.com/sch01ar/p/7887489.html
Copyright © 2011-2022 走看看