博客列表 >PHP面试考点笔记 - 常量及数据类型考察点

PHP面试考点笔记 - 常量及数据类型考察点

饺子°的博客
饺子°的博客原创
2019年05月19日 21:54:47939浏览

二、常量及数据类型考点

  剖析: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__:返回当前文件的命名空间的名称。
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议