zoukankan      html  css  js  c++  java
  • PHP常量和数据类型考察点

    PHP 常量

    常量是单个值的标识符(名称)。在脚本中无法改变该值。
    有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
    注释:与变量不同,常量贯穿整个脚本是自动全局的。

    PHP常量的两种定义方式

    • const
      const 是语言结构,效率更高
    <?php
    const USERNAME = 'chenxr';
    echo USERNAME;
    echo const('USERNAME');
    ?>
    
    • define()
      define() 是函数,不能用于类常量的定义
    <?php
    define('USERNAME','chenxr');
    echo USERNAME;
    ?>
    

    魔术常量

    PHP中有八个魔术常量,它们的值会随着它们在代码中的位置的改变而改变。这些特殊的常量不区分大小写。

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

    超全局变量

    PHP中常用的超全局数组:

    • $GLOBALS:引用全局作用域中可用的全部变量
    • $_SERVER :服务器和执行环境信息
    • $_GET
    • $_POST
    • $_REQUEST (尽量不要用)
    • $_SESSION
    • $_COOKIE
    • $_FILES :HTTP 文件上传变量
    • $_ENV :环境变量

    其中,$_SERVER:

    • $_SERVER['SERVER_ADDR']-服务器ip
    • $_SERVER['SERVER_NAME']-服务器名
    • $_SERVER['REQUEST_TIME']-请求开始时的时间
    • $_SERVER['QUERY_STRING']-query string(查询字符串),如果有的话,通过它进行页面访问。
    • $_SERVER['HTTP_REFERER']-引导用户代理到当前页的前一页的地址(如果存在)。由 user agent 设置决定。并不是所有的用户代理都会设置该项,有的还提供了修改 HTTP_REFERER 的功能。简言之,该值并不可信。
    • $_SERVER['HTTP_USER_AGENT']-当前请求头中 User-Agent: 项的内容,如果存在的话。该字符串表明了访问该页面的用户代理的信息。一个典型的例子是:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。
    • $_SERVER['REMOTE_ADDR']-浏览当前页面的用户的 IP 地址。
    • $_SERVER['REQUEST_URI']-URI 用来指定要访问的页面。例如 “/index.html”。
    • $_SERVER['PATH_INFO']-包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息,如果存在的话。例如,如果当前脚本是通过 URL http://www.example.com/php/path_info.php/some/stuff?foo=bar 被访问,那么 $_SERVER['PATH_INFO'] 将包含 /some/stuff

    PHP数据类型

    三大数据类型:标量、复合、特殊

    标量:是数据结构中最基本单元,只能储存一个数据,包括boolean,string,integer,float

    • 浮点数不能用于比较运算(浮点数的加减运算有误差)
    • 布尔类型中 FALSE 的七中情况:整型0(0),浮点数0(0.0),字符串0('0'),false,空数组(array()),NULL

    复合:包括数组array和对象object

    特殊:NULL 和 resource

    • NULL 的三种情况:
    1. 直接赋值为NULL
    2. 未定义
    3. unset()销毁
  • 相关阅读:
    建立自己的开发知识库?分享制作电子书的经验
    海量Office文档搜索
    为什么要检测数据库连接是否可用
    多年的.NET开发,也只学会了这么几招
    总结一下ERP .NET程序员必须掌握的.NET技术
    菜单设计器(Menu Designer)及其B/S,C/S双重实现(B/S开源)
    软件公司为什么要加密源代码
    .NET开发中经常用到的扩展方法
    在Win8 Mertro 中使用SQLite
    SQLite
  • 原文地址:https://www.cnblogs.com/clannadxr/p/7661271.html
Copyright © 2011-2022 走看看