• PHP毕业设计毕设辅导课(2):PHP 变量,PHP 变量的定义,PHP 变量作用域,Static 作用域,参数作用域


    PHP 变量的定义

    与代数类似

    变量是用于存储信息的"容器",PHP变量使用代码示例如下:

    1. $x=5;
    2. $y=6;
    3. $z=$x+$y;
    4. echo $z;
    5. ?>

           运行结果:

    11

           上面的示例我们可以看出,类似我们代数中的使用。

    1. x=5
    2. y=6
    3. z=x+y

    在代数中,我们使用字母(如 x),并给它赋值(如 5)。

    从上面的表达式 z=x+y ,我们可以计算出 z 的值为 11。

    在 PHP 中,这些字母(上面示例中的x,y,z)被称为变量。

    提示:变量是用于存储数据的容器。

    PHP 变量的语法

    与代数类似,可以给 PHP 变量赋予某个值(x=5)或者表达式(z=x+y)。

    变量可以是很短的名称(如 x 和 y)或者更具描述性的名称(如 age、carname、totalvolume)。

    PHP 变量规则:

    1. 变量以 $ 符号开始,后面跟着变量的名称。
    2. 变量名必须以字母或者下划线字符开始。
    3. 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )。
    4. 变量名不能包含空格。
    5. 变量名是区分大小写的($y 和 $Y 是两个不同的变量)。

    提示:PHP 语句和 PHP 变量都是区分大小写的。

    创建(声明)PHP 变量

    PHP 没有声明变量的命令。

    变量在您第一次赋值给它的时候被创建,代码示例如下:

    1. $txt="Hello world!";
    2. $x=5;
    3. $y=10.5;
    4. ?>

    运行结果如下:

    Hello world!

    在上面的语句执行中,变量 txt 将保存值 Hello world!,且变量 x 将保存值 5。

    注释:当您赋一个文本值给变量时,请在文本值两侧加上引号。

    PHP 是一门弱类型语言

    在上面的实例中,我们注意到,不必向 PHP 声明该变量的数据类型。

    PHP 会根据变量的值,自动把变量转换为正确的数据类型。

    在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。

    PHP 变量作用域

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

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

    1. local
    2. global
    3. static
    4. parameter

    局部和全局作用域

    在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

    在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问,代码示例如下:

    1. $x=5; // 全局变量
    2. function myTest()
    3. {
    4.     $y=10; // 局部变量
    5.     echo "

      测试函数内变量:

      ";

    6.     echo "变量 x 为: $x";
    7.     echo "变量 y 为: $y";
    8. myTest();
    9. echo "

      测试函数外变量:

      ";

    10. echo "变量 x 为: $x";
    11. echo "变量 y 为: $y";
    12. ?>

    运行结果:

    1. 测试函数内变量:
    2. 变量 x 为:
    3. 变量 y 为: 10
    4. 测试函数外变量:
    5. 变量 x 为: 5
    6. 变量 y 为:

    在以上实例中 myTest() 函数定义了 $x 和 $y 变量。 $x 变量在函数外声明,所以它是全局变量 , $y 变量在函数内声明所以它是局部变量。

    当我们调用myTest()函数并输出两个变量的值, 函数将会输出局部变量 $y 的值,但是不能输出 $x 的值,因为 $x 变量在函数外定义,无法在函数内使用,如果要在一个函数中访问一个全局变量,需要使用 global 关键字。

    然后我们在myTest()函数外输出两个变量的值,函数将会输出全局变量 $x 的值,但是不能输出 $y 的值,因为 $y 变量在函数中定义,属于局部变量。

           提示:你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。

    PHP global 关键字

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

    在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字,代码示例如下:

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

    运行结果:

    15

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

    上面的实例可以写成这样,代码示例如下:

    1. $x=5;
    2. $y=10;
    3.  
    4. function myTest()
    5. {
    6.     $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    7. }
    8.  
    9. myTest();
    10. echo $y;
    11. ?>

    运行结果:

    15

    Static 作用域

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

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

    1. function myTest()
    2. {
    3.     static $x=0;
    4.     echo $x;
    5.     $x++;
    6.     echo PHP_EOL;    // 换行符
    7. }
    8.  
    9. myTest();
    10. myTest();
    11. myTest();
    12. ?>

    运行结果:

    0

    1

    2

    然后,每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

    注释:该变量仍然是函数的局部变量。

    参数作用域

    参数是通过调用代码将值传递给函数的局部变量。

    参数是在参数列表中声明的,作为函数声明的一部分,代码示例如下:

    1. function myTest($x)
    2. {
    3.     echo $x;
    4. }
    5. myTest(5);
    6. ?>

  • 相关阅读:
    2022年超详细的SpringBoot+Vue+Jwt实现token的认证(重点部分讲解和完整的代码设计)
    opencv从入门到精通 哦吼02
    最新友盟微信,QQ与微博分享集成方案
    前端写页面如果不使用ui库,那么使用什么布局最多呢?
    MYSQL修改密码
    MyBatis笔记
    docker安装redis详细教程
    R 和 Python用于统计学分析,哪个更好?
    【51单片机】认识单片机
    早安心语微语早读,好好善待自己,珍惜今天,期待明天
  • 原文地址:https://blog.csdn.net/u013818205/article/details/128183320