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

    引言
    先用一个题来作为开端:PHP字符串的三种定义方式是什么?有什么区别?
    它们分别是单引号'',双引号"",newdoc和heredoc。
    区别是:单引号不能解析变量,不能解析转义字符,只能解析单引号和反斜线本身。
    双引号可以 解析变量,可以解析所有的转义字符。
    由此可见单引号的效率要高于双引号。在我们进行SQL语句的书写时可以利用这一点:

    $sql = "sellect * from user where name = '$name'";//原SQL语句
    $sql = 'sellect * from user where name =\''.$name.'\'';//这样效率会高一点,并且可读性也高一些
    
        而heredoc类似于双引号,newdoc类似于单引号,两者都用来处理大文本
    
    heredoc:  $str = <<< EoT
                      ........//里面的变量和转义字符会被解析
              EoT
    newdoc:$str = <<< 'EoT'
                      ........
              EoT
    

    数据类型
    三大数据类型:标量(布尔、字符串、整型、浮点型)、复合(数组、对象)、特殊(资源、NULL)。
    标量中注意:浮点类型,它不能用于比较运算中,不要直接判断两个浮点类型的数值是否相等。
    bool类型,false的七种情况:0、0.0、''、'0'、false、array()、null。
    复合中注意:数组类型,超全局数组:$GLOBALS、$_GET $_POST $_REQUEST $_SESSION $_COOKIE $SERVER $_FILES $ENV,其中$GLOBALS包含了后面的所有内容,$_REQUEST包含了$POST $_GET $_COOKIE的内容,这里再着重讲解一些$_SERVER:
    $_REQUEST['SERVER_ADDR']//服务器端IP
    $_REQUEST['SERVER_NAME']//服务器名称
    $_REQUEST['REQUEST_TIME']//请求时间
    $_REQUEST['QUERY_STRING']//网址?后面的内容
    $_REQUEST['HTTP_REFERER']//上级请求的页面
    $_REQUEST['REMOTE_ADDR']//客户端IP
    $_REQUEST['REQUEST_URI']//请求的index.php,返回的是/index.php
    $REQUEST['PATH_INFO']//网址的路径部分
    特殊中注意:NULL的三种情况:直接赋值为NULL、未定义的变量、unset销毁的变量。
    常量
    定义方式:const、define
    const是结构,define是函数,const更快。
    define不能定义类常量,const可以
    常量一经定义,不能被修改,不能被删除
    预定义常量:FILE LINE -DIR
    FUNCTION METHOD CLASS TRAIT NAMESPACE

  • 相关阅读:
    80X86常用汇编指令集(不断补充完善中)
    重温大师经典:Martin Fowler 的持续集成
    .NET Framework 将有限地向开发者公开源代码
    DotNet源代码中的模式Builder生成器模式
    Delphi内嵌汇编语言BASM精要(转帖)
    sealed关键字用法
    VS2008设置查看.NET源码的方法
    基于LINQ to SQL的WEB开发三层架构(1)
    拓扑排序
    HDU1495 非常可乐(BFS)
  • 原文地址:https://www.cnblogs.com/pcblogs/p/12984317.html
Copyright © 2011-2022 走看看