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

本文深入探讨了PHP中变量的作用域概念,包括全局(global)、局部(local)和静态(static)变量,并介绍了如何通过global关键字、$GLOBALS数组以及超全局变量在函数内外访问变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

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'];        //超全局变量在函数内外都可以用直接用

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值