首页 > 代码库 > PHP--01

PHP--01

PHP 变量规则:

  • 变量以 $ 符号开头,其后是变量的名称
  • 变量名称必须以字母或下划线开头
  • 变量名称不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
  • 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

注释:PHP 变量名称对大小写敏感!

 

Local 和 Global 作用域

函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。

函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。

 1 <?php
 2 $x=5; // 全局作用域
 3 
 4 function myTest() {
 5   $y=10; // 局部作用域
 6   echo "<p>测试函数内部的变量:</p>";
 7   echo "变量 x 是:$x";
 8   echo "<br>";
 9   echo "变量 y 是:$y";
10 } 
11 
12 myTest();
13 
14 echo "<p>测试函数之外的变量:</p>";
15 echo "变量 x 是:$x";
16 echo "<br>";
17 echo "变量 y 是:$y";
18 ?>

PHP global 关键词

global 关键词用于访问函数内的全局变量。

要做到这一点,请在(函数内部)变量前面使用 global 关键词:

 1 <?php
 2 $x=5;
 3 $y=10;
 4 
 5 function myTest() {
 6   global $x,$y;
 7   $y=$x+$y;
 8 }
 9 
10 myTest();
11 echo $y; // 输出 15
12 ?>

PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量。

上面的例子可以这样重写:

 1 <?php
 2 $x=5;
 3 $y=10;
 4 
 5 function myTest() {
 6   $GLOBALS[‘y‘]=$GLOBALS[‘x‘]+$GLOBALS[‘y‘];
 7 } 
 8 
 9 myTest();
10 echo $y; // 输出 15
11 ?>

PHP static 关键词

通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。

要完成这一点,请在您首次声明变量时使用 static 关键词:

 1 <?php
 2 
 3 function myTest() {
 4   static $x=0;
 5   echo $x;
 6   $x++;
 7 }
 8 
 9 myTest();
10 myTest();
11 myTest();
12 
13 ?>

 

PHP--01