php变量规则

变量以$符号开始,后面跟着变量的名称

变量名必须以字母或者下划线字符开始,只能包含字母、数字以及下划线(A-z、0-9和_)

变量名对大小写敏感

 

php没有声明变量的命令,变量在第一次赋值的时候被创建

比如:

<?php
$txt="Hello world!";
?>

 

php是一门弱类型语言,创建变量时不必声明数据类型。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称

 

php变量作用域

1、local(局部作用域)

在函数内部声明的变量是局部变量,只能在函数内部访问

2、global(全局作用域)

在所有函数外部定义的变量,拥有全局作用域

比如:

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

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

myfunc();

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

结果为:

测试函数内变量:

变量 x 为:
变量 y 为: 10

测试函数外变量:

变量 x 为: 5
变量 y 为: 

 

如果要在函数中访问全局变量,要使用global关键字

比如:

<?php
$x=1;
$y=2;

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

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

 

php把全局变量存储在一个名为$GLOBAL[]的数组中。这个数组可以在函数内部访问,也可以直接用来更新全局变量

比如:

<?php
$x=1;
$y=2;
 
function myTest()
{
    $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
 
myTest();
echo $y;
?>

 

3、static作用域

当一个函数完成时,它的所有变量通常都会被删除。如果希望某个局部变量不要被删除,可以使用static关键字

比如:

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

结果为:

0 1 2

 

4、parameter(参数作用域)

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

比如:

<?php
function myTest($x)
{
    echo $x;
}
myTest(1);
?>

 

版权声明:本文为daxiangcai原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/daxiangcai/p/16253989.html