Blogger Information
Blog 16
fans 0
comment 0
visits 13589
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP面试考点笔记 - 常量及数据类型考察点
饺子°的博客
Original
940 people have browsed it

二、常量及数据类型考点

  剖析:PHP中字符串可以使用哪三种定义方法以及各自的区别是什么?

  考点:PHP的字符串的定义方式及各自区别

    答:定义方式:单引号、双引号、heredoc和newdoc

          区别

             单引号不解析变量

                单引号不能解析转义字符,只能解析单引号和反斜线本身

                变量和变量、变量和字符串、字符串和字符串之间可以用 . 连接

            Ⅱ 双引号可以解析变量 , 变量可以使用特殊字符和{}包含

                双引号可以解析所有转义字符

                也可以使用 . 连接

            Ⅲ heredoc是动态的 nowdoc是静态的

                heredoc功能上类似多行的双引号 newdoc功能上类似多行的单引号

                heredoc是一种专门处理大段字符串的通用处理方案,而nowdoc是php为了弥补动态实现“heredoc”的效率问题而实现的“高效率”的静态版本

          注意: 单引号效率更高,例子如下

                      $sql = "SELECT * FROM user WHERE name = '$name'";(效率偏低)

                      $sql = "SELECT * FORM user WHERE name = \''.$name.'\''

                    Ⅱ heredoc例子如下

$str = <<<EOD
  Example of string
  spanning multiple lines
  using nowdoc syntax.
EOD;//EOD一定要靠近前面,不能有空格,同时不要漏掉结束符分号;

                    Ⅲ newdoc例子如下

$str = <<<'EOD'
  Example of string
  spanning multiple lines
  using nowdoc syntax.
EOD;//EOD一定要靠近前面,不能有空格,同时不要漏掉结束符分号;

                   heredoc和newdoc都用来处理大文本

  延伸:数据类型及常量

    数据类型:三大类——标量(整型、浮点型、布尔型、字符串)、复合(数组、对象)、特殊(NULL,资源)

    注意:

       浮点类型不能用于比较运算(相等判断)中

      Ⅱ FALSE的七种情况:0,0.0,'','0',false,array(),NULL

      Ⅲ 超全局数组

        ① 包含了来自web服务器,客户端,运行环境和用户输入数据

        ② 这些数组比较特别

        ③ 全局范围内自动生效,都可以直接使用这些数组

        ④ 用户不能自定义这些数组,但这些数据操作方式又和我们自定义的数组操作方式一样

        ⑤ 在函数中直接可以使用这些数组

$_GET    //经由URL请求提交至脚本的变量

$_POST    //经由HTTP POST方法提交至脚本的变量

$_REQUEST   //经由GET,POST和COOKIE机制提交到脚本的变量,因此该数组并不值得信任,尽量不去使用

$_FILES   //经由HTTP POST文件上传而提交至脚本,文件处理一章,文件上传

$_COOKIE

$_SESSION

$_ENV    //执行环境提交至脚本的变量

$_SERVER  //变量由web服务器设定的,或直接和当前脚本的执行环境有关

$GLOBALS  //只要是当前脚本有效的变量都在这里,数组键名为全局变量的名称

        注意:$_SERVER相关知识点延伸

http://www.imooc.com/index.php/use/reg?status=ghost

$_SERVER['SERVER_ADDR'] : 服务端IP地址

$_SERVER['REMOTE_ADDR'] : 客户端IP地址

$_SERVER['SERVER_NAME'] : 服务器名称

$_SERVER['REQUEST_TIME'] : 请求时间

$_SERVER['QUERY_STRING'] : URL地址中 ? 后面的所有(status=ghost)

$_SERVER['HTTP_REFERER'] :上级请求页面

$_SERVER['HTTP_USER_AGENT'] : 返回头信息当中的用户相关信息

$_SERVER['REQUEST_URI'] : 当前脚本路径,根目录之后的目录(/index.php)

$_SERVER['PATH_INFO'] : 当前脚本路径(use/reg)

       NULL三种情况:直接赋值为NULL,未定义的变量,unset销毁的变量

       常量定义:const、define

         ① const更快,是语言结构,define是函数

         ② const可以用于类常量的定义,define不行

         ③ 常量一经定义,不能修改或删除

         注意:预定义常量

__LINE__ :返回文件中的当前行号。也可写成__line__。

__FILE__:返回当前文件的绝对路径(包含文件名)。

__DIR__:返回当前文件的绝对路径(不包含文件名),等价于 dirname(__FILE__)。

__FUNCTION__:返回当前函数(或方法)的名称。

__CLASS__:返回当前的类名(包括该类的作用区域或命名空间)。

__TRAIT__:返回当前的trait名称(包括该trait的作用区域或命名空间)。

__METHOD__:返回当前的方法名(包括类名)。

__NAMESPACE__:返回当前文件的命名空间的名称。
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post