php面试专题---2、常量及数据类型考点
一、总结
一句话总结:
变量为null和变量判断为false的情况需要仔细注意下
1、PHP中字符串可以使用哪三种定义方法以及各自的区别是什么?
单引号:不解析变量和一些转义字符,但是效率更高
双引号:解析变量和转义字符
heredoc和newdoc:用来处理大文本:Heredoc类似于双引号;Newdoc类似于单引号
单引号
单引号效率更高
单引号不能解析变量
单引号不能解析转义字符,只能解析单引号和反斜线本身
变量和变量、变量和字符串、字符串和字符串之间可以用.连接
双引号
双引号可以解析变量,变量可以使用特殊字符和{}包含
双引号可以解析所有转义字符
也可以使用.来连接
Heredoc 类似于双引号
Newdoc类似于单引号
2、php中三大数据类型?
标量:
复合:array:数组;object:对象类型
特殊:resource:资源;null:空值
3、$a=0.1;$b=0.7; if($a+$b==0.8){}判断的结果是true还是false,为什么?
false:因为0.1+0.7计算机计算出来的结果可能是0.799999999;浮点类型不能运用到相等比较运算中
小数十进制转二进制会有损耗
4、FALSE的七种情况?
0 , 0.0 , ' ' , '0' , false ,array() , NULL;整型0、浮点0.0、布尔false、空字符串、0字符串、空数组、NULL
5、php超全局数组 有哪些?
$GLOBALS、$_GET、$_POST、$_REQUEST、$_SESSION、$_COOKIE、$_SERVER、$_FILES、$_ENV
6、超全局变量$_SERVER中常用的 ?
$_SERVER[ 'SERVER_ADDR']
$_SERVER[ 'QUERY_STRING']
$_SERVER[ 'HTTP_REFERER']
$_SERVER[ 'REMOTE_ADDR']
$_SERVER[ 'SERVER_ADDR']
$_SERVER[ 'SERVER_NAME']
$_SERVER['REQUEST_TIME']
$_SERVER[ 'QUERY_STRING']
$_SERVER[ 'HTTP_REFERER']
$_SERVER['HTTP_USER_AGENT']
$_SERVER[ 'REMOTE_ADDR']
$_SERVER['REQUEST_URI']
$_SERVER[ 'PATH_INFO']
7、phpNULL的三种情况?
直接赋值为NULL
未定义的变量
unset销毁的变量
8、常量定义特点及const和define的区别?
const更快,是语言结构,define是函数
define不能用于类常量的定义,const可以
常量一经定义,不能被修改,不能被删除
9、php 常用 系统常量?
(1)__FILE__ :php程序文件名。它可以帮助我们获取当前文件在服务器的物理位置。
(2)__LINE__ :PHP程序文件行数。它可以告诉我们,当前代码在第几行。
__FILE__、__LINE__、__DIR__、__FUNCTION__、__CLASS__、__TRAIT__、__METHOD__、__NAMESPACE__