前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >php面试笔记(2)-php基础知识-常量和数据类型

php面试笔记(2)-php基础知识-常量和数据类型

作者头像
学长冷月
发布2020-08-02 22:14:24
1K0
发布2020-08-02 22:14:24
举报
文章被收录于专栏:冷月带你手撕代码

速读本文仅需4min~

php基础知识-常量和数据类型

面试是每一个PHP初学者到PHP程序员必不可少的一步,冷月将为大家对PHP基础知识;JS、JQuery、AJAX;Linux;MySQL;程序设计题;PHP框架;算法、逻辑思维;高并发解决方案等做一个全方位的解析。

回顾真题

PHP中字符串可以使用哪三种定义方式以及

各自的区别是什么?答案:

单引号

双引号

heredoc()和newdoc()

先来看看单引号的使用:

<?php

$str1 = 'abc'; // 用单引号定义字符串

str$str2 = 'def';

$str3 = $str1.$str2;//两个字符串可以用.来拼接

?>

定义字符串的方式很简单,但是要注意几个常考点

1.在单引号中,不能解析变量;

2.在单引号中,不能解析转义字符,只能解析单引号 和反斜线本身;

3.在变量和变量,变量和字符串,字符串和字符串之间可以用 . 来连接。

再来看看双引号的使用:

<?php

$str1 = "abc"; //用双引号定义字符串str

$a = 18;

$str2 = "小明今年{$a}岁 \n"; //双引号中可以解析变量,和转义字符

?>

我们要注意以下几个点:

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

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

3.双引号也可以在变量和变量,变量和字符串,字符串和字符串之间可以用 . 来连接。

在来看看heredoc()和newdoc()的使用

heredoc() 相当于双引号的作用,newdoc()类似于单引号的作用,当在处理大文本或html代码时可以使用,使用格式如下:

<?php

echo <<<EOF

<h1>我的第一个标题</h1>

<p>我的第一个段落。</p>

EOF

;?>

// 结束需要独立一行且前后不能空格

考点分析

主要考察考生对于PHP常量和常用数据类型的理解,只要将本篇文章的内容加以理解,相信在面对此类问题时,可以得心应手。

常量在PHP中可以使用const关键字和define()函数来定义常量。

<?php

const ONE_DEMO = "我是常量1"; //常量不用加$符,一般用大写来表示

define("TWO_DEMO","我是常量2"); //第一个参数为常量名,第二个参数是常量值

?>

常量值被定义后,在PHP脚本的其他任何地方都不能被修改,不能被删除。

预定义常量在PHP中预定义了许多可能会用到的常量,这一点大家也要有一个了解

<?php

echo __FILE__; //获取当前文件绝对路径D:\xxxx\xxxx\xxxx\index.php

echo __LINE__; //显示当前代码在多少行

echo __DIR__; //获取当前文件所在的目录D:\xxxx\xxxx\xxxx

function test(){

echo __FUNCTION__; //获取当前方法的名称 test

}

class test {

function abc() {

echo __CLASS__; //获取当前类的名称 test

}

}

(new test)->abc();

echo __NAMESPACE__; //输出当前的命名空间

?>

数据类型在PHP中数据类型分别为以下几个:String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。

其中,需要注意的是浮点类型不能运用到比较运算中,例如:

<?php

$a = 0.1;

$b = 0.7;

if ($a + $b == 0.8)

{

echo "OK";

}else{

echo "ERROR"; //输出ERROR

}

?>

因为在计算机中是用补码进行运算的,而浮点类型在运算中,可以会产生精度的损失,所以计算过程有可能是0.1+ 0.7 = 0.79999 ,损失了0.00001。所以会比较运算符输出false,程序输出ERROR。

我们还需要了解布尔类型中FALSE的七种情况:

1.0

2.0.0

3.''

4.'0'

5.false

6.array()

7.NULL

NULL又有三种情况:

1.直接将变量赋值为NULL

2.未定义的变量

3.unset()销毁的变量

最后了解一下超全局数组

**GLOBALS**:GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。

**GET**_GET 广泛应用于收集表单数据,在HTML form标签的指定属性:"method="get"。

**POST**POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。

**REQUEST**_REQUEST 用于收集HTML表单提交的数据。包含get和post

**COOKIE**_COOKIE获取cookie

**SESSION**_SESSION获取session

**SERVER**(以下为几个常用的键)

当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。(如www.runoob.com)

_SERVER['SERVER_ADDR'] 当前运行脚本所在服务器的ip地址。

_SERVER['REQUEST_TIME'] 请求开始的时间戳。

_SERVER['REMOTE_ADDR'] 浏览当前页面的用户的 IP 地址。

一网打尽

最后,让我们来看几道真题,一网打尽所学考点

1.用PHP写出获取客户端IP和服务器IP 的代码

<?php

echo $_SERVER['REMOTE_ADDR'];//输出客户端IP地址

echo $_SERVER['SERVER_ADDR'];//输出服务端IP地址

?>

2.__FILE__表示什么意思获取当前PHP脚本文件

所在绝对路径,例如 D:\xxxx\xxxx\xxxx\index.php

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 学长冷月 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
轻量应用服务器
轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门软件打包实现一键构建应用,提供极简上云体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档