PHP基础知识总结一(常量及数据类型考察)

384 阅读2分钟

PHP数据类型(8种)

三大数据类型:

  • 标量(4):是数据结构中最基本的单元,只能储存一个数据,包括整型int(integer)、浮点型float、字符串string、布尔型boolean四类。
    注意:
    • 浮点数不能作于比较运算(浮点数的加减运算有误差)
    • 布尔类型中 FALSE 的七中情况:整型0(0),浮点数0(0.0),字符串0('0'),false,空数组(array()),NULL
  • 复合(2):包括数组array 和 对象object (这里暂不详说)
  • 特殊(2):NULLresource类型
    NULL的三种情况:
    • 直接赋值null
    • 未定义
    • unset() 销毁

PHP常量

两种定义方式。(注意规范-大写)

  • const
    const是语言结构效率更高。
const NAME = '陈明';
echo NAME;  //'陈明'
  • define()
    注意,在类class里不能用于常量的定义。
define('NAME', '陈明');
echo NAME; //'陈明'

魔术常量

  • __FILE__: 返回当前文件的绝对路径(包括文件名如C:\laragon\www\test\index.php)
  • __LINE__: 返回当前行号,也可以写成__line__
  • __DIR__:返回当前文件的绝对路径,不包含文件名,等价于dirname(__FILE__)
  • __FUNCTION__:返回当前函数(或方法)的名称。
  • __CLASS__:返回当前的类名(包括该类的作用区域或命名空间)。
  • __TRAIT__:返回当前的trait名称(包括该trait的作用区域或命名空间)。
  • __METHOD__:返回当前的方法名(包括类名)。
  • __NAMESPACE__:返回当前文件的命名空间的名称。

超全局变量

  • $GLOBALS:引用全局作用域中可用的全部变量
    $foo = 'global scope';
    function test() {
        $foo = 'current scope';
        echo $GLOBALS['foo'];
    }
    test(); //"global scope";
  • $_SERVER:是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。

    • $_SERVER['SERVER_ADDR']:当前运行脚本所在的服务器的 IP 地址。
    • $_SERVER['SERVER_NAME']: 当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。
    • $_SERVER['REMOTE_ADDR']:浏览当前页面的用户的 IP 地址。
      因为太多不一一列举。
  • $_GET:通过 URL 参数传递给当前脚本的变量的数组。

  • $_POST:当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。

  • $_FILES:获取上传文件的数组。

  • $_REQUEST:默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组。(少用)

  • $_SESSION$_COOKIE不多说了。

  • $_ENV:通过环境方式传递给当前脚本的变量的数组。