变量
变量
程序中的变量用于存储一些值或数据,这些值或数据可以稍后在程序中使用。PHP有自己的声明和存储变量的方法。
在处理PHP变量时,需要遵守的规则和需要记住:
- PHP中声明的任何变量都必须以美元符号($)开头,后面跟着变量名。
- 变量可以有长描述性名称(如$factorial, $even_nos)或短名称(如$n或$f或$x)
- 变量名只能包含字母数字字符和下划线(即,“a-z”,“a-z”,“0-9”和“_”)。
- 变量赋值是用赋值运算符来完成的,“等于(=)”。变量名在等号左边,表达式或值在赋值运算符’ = ‘的右边。
- 必须记住,PHP名称中的变量名必须以字母或下划线开头,而不是数字。
- PHP是一种松散类型语言,我们不需要声明变量的数据类型,而是通过分析值自动地假设它。转换过程也是如此。
- PHP变量是区分大小写的,即, $sum和$sum被区别对待。
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php // 这些都是有效的声明 $val = 5; $val2 = 2; $x_Y = "gfg"; $_X = "abc"; // 这是一个无效的声明 // 开头以数字了 $10_ val = 56; // 这也是无效的,因为它包含 // 特殊字符 $f.d = "num"; ?> |
变量作用域
变量的作用域定义为变量在程序中可被访问的范围,即变量作用域是程序中可见或可被访问的部分。
根据作用域的不同,PHP有三个变量作用域:
- 局部变量:在函数中声明的变量被称为该函数的局部变量,其作用域仅在该特定函数中。简单地说,它不能在该函数之外访问。函数外部变量的任何声明都是完全不同的变量,其名称与函数内部变量的名称相同。我们将在后面的文章中详细了解函数。现在考虑一个函数作为一个语句块。
例子:
123456789101112131415161718192021<?php$num = 60;function local_var(){// 这个$num是这个函数的局部变量// 函数外的变量$num// 一个完全不同的变量$num = 50;echo "local num = $num \n";}local_var();// $num外部函数local_var()是a// 完全不同于// 内部local_var()echo "Variable num outside local_var() is $num \n";?>
输出:
12local num = 50Variable num outside local_var() is 60 - 全局变量:在函数外部声明的变量称为全局变量。这些变量可以直接在函数之外访问。要在函数中访问,我们需要在变量之前使用“global”关键字引用全局变量。
例子:
123456789101112131415161718<?php$num = 20;// 函数演示如何使用全局变量function global_var(){// 我们必须在变量$num之前使用全局关键字来访问函数global $num;echo "Variable num inside function : $num \n";}global_var();echo "Variable num outside function : $num \n";?>
输出:
12Variable num inside function : 20Variable num outside function : 20
- 静态变量:PHP的特点是删除变量,完成执行并释放内存。但有时我们需要在函数执行完成后存储变量。为此,我们使用static关键字,然后将变量作为静态变量调用。
例子:
1234567891011121314151617181920212223<?php// 函数演示静态变量function static_var(){// 静态变量static $num = 5;$sum = 2;$sum++;$num++;echo $num, "\n";echo $sum, "\n";}// 第一个函数调用static_var();// 第二个函数调用static_var();?>
输出:
12346373
您一定注意到,即使在第一次函数调用之后,$num也会定期递增,但是$sum不会。这是因为$sum不是静态的,它的内存是在执行第一个函数调用后释放的。