1.8PHP语言的变量(Variable)和常量(Constant)

1.变量声明

变量用美元符$后跟标识符来表示。变量名是区分大小写的。

$a = 1;

2.变量分类

2.1Global全局变量

函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。如果函数内部需要使用,需使用global关键字调用。

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

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

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

2.2Static静态变量

通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。要完成这一点,请在您首次声明变量时使用 static 关键词:

<?php

function myTest() {
    static $x=0;
    echo $x;
    $x++;
}

myTest();
myTest();
myTest();

?>

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

2.3实例变量

类 内部声明的非静态变量。

2.4Local局部变量

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

3.内置超级全局变量

内置超级全局变量的作用域是PHP脚本的任何地方。完整列表如下:

  • $GLOBALS,所有全局变量数组;
  • $_SERVER,服务器环境变量数组;
  • $_GET,通过GET方式传递的变量数组;
  • $_POST,通过POST方式传递的变量数组;
  • $_COOKIE,cookie变量数组;
  • $_FILES,与文件有关的变量数组;
  • $_ENV,环境变量数组;
  • $_REQUEST,所有用户输入的变量数组;
  • $_SESSION,会话变量数组。

4.常量

常量名称与变量的区别就是前面没有 $ 符号,一般全部大写字母。常量的作用域是全局的,它们可以在函数内外使用。

请使用 define() 函数 – 它使用三个参数:

  1. 首个参数定义常量的名称
  2. 第二个参数定义常量的值
  3. 可选的第三个参数规定常量名是否对大小写不敏感。默认是 false。
define('TIREPRICE',100);

5.魔术常量

名字说明
__LINE__文件中的当前行号。
__FILE__文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
__DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。它等价于 dirname(__FILE__)。除非是根目录,否则目录中名不包括末尾的斜杠。
__FUNCTION__当前函数的名称。匿名函数则为 {closure}
__CLASS__当前类的名称。类名包括其被声明的作用域(例如 Foo\Bar)。当用在 trait 方法中时,__CLASS__ 是调用 trait 方法的类的名字。
__TRAIT__Trait 的名字。Trait 名包括其被声明的作用域(例如 Foo\Bar)。
__METHOD__类的方法名。
__NAMESPACE__当前命名空间的名称。
ClassName::class完整的类名。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/back/php/4937.html

发表评论

登录后才能评论