zoukankan      html  css  js  c++  java
  • 全面解读php-常量及数据类型

    本文主要讲解字符串的定义方式,数据类型和常量的相关内容。

    一、字符串的定义方式

    1、字符串的定义方式除了单双引号外,还有一种叫 heredoc newdoc 

    在我们需要定义很长一段儿字符串的时候需要用到heredoc。它的格式如下:

    $sql = <<<EOT
        ...
    <<<EOT    
    //结尾一定不能留空格,要放到文件的开头。
    //heredoc的功能和双引号的功能类似,只是它常用于定义长文本。

    newdoc 的功能和单引号的功能类似,它也主要用于定义长文本,格式就是在heredoc的基础上加上一个引号

    $sql = <<<'EOT'
        ...
    <<<'EOT'    
    //结尾一定不能留空格,要放到文件的开头。
    //newdoc就是在heredoc的基础上加上一个引号

    二、数据类型

    1、数据类型的分类(3类8大类型)

    3类

    8大类型

    标量

    整型

    浮点型

    字符型

    布尔型

    符合

    数组

    对象

    特殊

    NULL

    资源型

    2、浮点型不能用于比较运算中,即不能用在有 "=="的地方,例如:

    //这个等式是永远不成立的,因为计算机在进行二进制转换时有损耗,0.3 + 0.5 的值为 0.7999....
    if (0.3 + 0.5 == 0.8) {
        echo 'success'; 
    }

    3、布尔型 false 的 7 种情况:

    // false 的 7 种情况
    0, 0.0 , '0', '', false, array(), null

    4、9 个超全局数组:

    5、$_SERVER种需要记住的 9 点:

    我以 http://www.test.com/index.php/user/login?username=chrdai 为例:

    分类

    $_SERVER里面的值

    说明

    举例

    地址相关关

    $_SERVER['SERVER_ADDR'] 服务器IP 10.80.10.43
    $_SERVER['REMOTE_ADDR'] 客户端IP 192.168.18.123

    请求地址相关

    $_SERVER['REQUEST_URI']  index.php,包括前面的/ /index.php
    $_SERVER['PATH_INFO'] url路径部分,index.php之后,?之前 /user/login
    $_SERVER['QUERY_STRING'] ? 后面的一大串儿 username=chrdai
    $_SERVER['HTTP_REFERER'] 上一次请求的页面  
      $_SERVER['SERVER_NAME'] 服务器名称  
      $_SERVER['REQUEST_TIME'] 请求时间  
      $_SERVER['HTTP_USER_AGENT'] 头信息里面的user_agent信息  

    三、常量

    常量一旦被定义,不能被修改,不能被删除。

    define 和 const 的区别:

    • 效率上const是语言结构,更快,define 是函数
    • const 可用于定义类常量,而define 不可以

    8个预定义常量

    • __LINE__,文件中的当前行号。
    • __FILE__,文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
    • __DIR__,文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
    • __FUNCTION__,函数名称,返回该函数被定义时的名字。
    • __CLASS__,类的名称,返回该类被定义时的名字。
    • __TRAIT__,Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定义时的名字(区分大小写)。Trait 名包括其被声明的作用区域(例如 FooBar)。
    • __METHOD__,类的方法名,返回该方法被定义时的名字(区分大小写)。
    • __NAMESPACE__,当前命名空间的名称(区分大小写)

    本文为袋鼠学习中的总结,如有转载请注明出处https://www.cnblogs.com/chrdai/p/11067268.html

  • 相关阅读:
    WebContent的子目录里面的jsp文件无法将数据传递给Servlet
    MVC 与 三层架构
    使用命令行操作MySQL 及 语法
    JDBC
    字符典
    servlet 生命周期
    6 shell内置命令
    5shell中的数组
    4shell中的特殊变量
    3shell命令替换
  • 原文地址:https://www.cnblogs.com/chrdai/p/11067268.html
Copyright © 2011-2022 走看看