PHP 中的 local、global 、static 、parameter关键字用法解析

本文深入讲解PHP中变量的使用规则,包括变量的命名规范、作用域(如局部、全局、静态及参数作用域)、以及PHP作为弱类型语言的特性。通过实例演示如何在不同场景下正确使用变量。

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

  • 在PHP中变量是用于存储信息的"容器"
  • 与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)变 量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。
  • PHP 变量规则:
    变量以 $ 符号开始,后面跟着变量的名称
    变量名必须以字母或者下划线字符开始
    变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
    变量名不能包含空格
    变量名是区分大小写的($y 和 $Y 是两个不同的变量)
  • PHP 是一门弱类型语言
    我们不必向 PHP 声明该变量的数据类型,PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言(C语言或C++语言)中,我们必须在使用变量前先声明(定义)变量的类型和名称。
  • PHP 变量作用域
    • 局部和全局作用域
      在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
      在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:
      变量的作用域是脚本中变量可被引用/使用的部分。
    • PHP 有四种不同的变量作用域:
      local——全局变量
<?php
	$x = 5;      //在这里x为全局变量,在函数外声明
	function myFunction(){
		...
	}
?>

global——在一个函数中访问一个全局变量。PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。(小编提示一下,大家尤其要注意index[即原文中x 、y]的位置哦)

<?php
$x = 3;
$y = 5;
function myFunction(){
	global $x, $y;  //使用global关键字调用全局变量 x 、y
	$z = $x + $y;
	echo $z;
}
myFunction();  //将输出8
?>
<?php 
$x=5; 
$y=10; 

function myTest() 
{ 
    $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];   //使用 $GLOBALS[index] 
}  

myTest(); 
echo $y; 
?> 

static——可确保某个局部变量在使用完成后不仅不会被擦除,反而还会保留程序执行之后的值。

<?php
function myFunction($x){
	static $z = 0;  //在这里$z就是一个static(静态变量,在函数调用完成后并不会被释放)
	$z += $x;
	echo $z;
}
for($n = 0; $n < 3; $n++){  //此循环将会输出 1 2 3
	myFunction($n);
	echo " ";
}
?>

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

<?php
function myFunction($x){ //在这里$x就是一个参数
	static $z = 0; 
	$z += $x;
	echo $z;
}
for($n = 0; $n < 3; $n++){  //此循环将会输出 1 2 3
	myFunction($n);
	echo " ";
}
?>

好啦,以上就是php变量的有关内容,希望能对大家有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值