全面解读php面试-常量及数据类型
Posted chrdai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全面解读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 名包括其被声明的作用区域(例如 Foo\\Bar)。__METHOD__
,类的方法名,返回该方法被定义时的名字(区分大小写)。__NAMESPACE__
,当前命名空间的名称(区分大小写)
以上是关于全面解读php面试-常量及数据类型的主要内容,如果未能解决你的问题,请参考以下文章