PHP之变量

 一.PHP 变量作用域

变量的作用域是脚本中变量可被引用/使用的部分。

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

  • local
  • global(全局)
  • static
  • paramete(参数)

二.PHP的全局变量


<?php 
$x=5; // 全局变量 

function myTest() 
{ 
    $y=10; // 局部变量 
    echo "<p>测试函数内变量:<p>"; 
    echo "变量 x 为: $x"; 
    echo "<br>"; 
    echo "变量 y 为: $y"; 
}  

myTest(); 

echo "<p>测试函数外变量:<p>"; 
echo "变量 x 为: $x"; 
echo "<br>"; 
echo "变量 y 为: $y"; 
?> 

故而想要访问全局变量,需要加上global关键字

<?php 
$x=5; 
$y=10; 

function myTest() 
{ 
    global $x,$y; 
    $y=$x+$y; 
} 

myTest(); 
echo $y; // 输出 15 
?> 

PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

<?php 
$x=5; 
$y=10; 

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

myTest(); 
echo $y; 
?> 


Static 作用域

当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。

要做到这一点,请在您第一次声明变量时使用 static 关键字:

<?php
function myTest()
{
    static $x=0;
    echo $x;
    $x++;
    echo PHP_EOL;    // 换行符
}
 
myTest();
myTest();
myTest();
?>

原文地址:https://www.cnblogs.com/zjm1999/p/10855446.html