php 自定义函数-变量作用域

在这里插入图片描述

1、在函数中的作用域/范围:


<?php

	$first="第一个";
	
	function testInfo(){
	    $first="我是方法内部的第一个变量";  //函数内的变量,函数外访问不到
	    
	    echo $first;       //在函数内部,访问不到函数外部的变量, 获取的是当前函数内的
	}
	
	echo $first;
	
	echo "<br/ > <br/>";
	
	testInfo();

?>


在函数内外都可以访问的话,需要先把它们都改成 “全局变量” 才行,修改有以下几种方法;

一、global

PHP 有三种不同的变量作用域:

global(全局)     local(局部)     static(静态)


$first=1;

function testInfo(){

    global $first;  //这里指的就是上面、函数外部定义的$first,函数内部进行的操作都是同一个变量

    $first ++;

    echo $first;

}

testInfo(); //输出 2



二、$GLOBALS         引用全局作用域中可用的全部变量

它是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。


$first=11;

function testInfo(){

    $GLOBALS["first"] ++;  //将外部的11 + 1
    
}

testInfo();

echo $first; //输出 12

三、其他超全局变量

$GLOBALS       $_SERVER       $_REQUEST       $_POST       $_GET
$_FILES         $_ENV       $_COOKIE       $_SESSION

具体的可以点击以下地址了解:
http://www.w3school.com.cn/php/php_superglobals.asp


function testInfo(){

    echo $_POST['name'];       //超全局变量在函数内外都可以直接用

}

testInfo();

echo '<br/> <br/>';

echo $_POST['name'];        //超全局变量在函数内外都可以用直接用

显示信息:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/freedomVenly/article/details/83213343
今日推荐