php变量


php变量规则

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

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

变量名对大小写敏感

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

比如:

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

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

php变量作用域

1、local(局部作用域)

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

2、global(全局作用域)

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

比如:

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

function myfunc()
{
    $y=10; // 局部变量
    echo "

测试函数内变量:

"; echo "变量 x 为: $x"; echo "
"; echo "变量 y 为: $y"; } myfunc(); echo "

测试函数外变量:

"; echo "变量 x 为: $x"; echo "
"; 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);
?>

相关