PHP实战技巧编程中的常见制表符

前言

今天要说的是3个符号: ,它们是编程中最常见的几个制表符。

简介

\r 表示回车

ASCII 码:13

“回车”是一个历史遗留问题,在机械打印机时代表示将打印头定位到左边。虽然,我们键盘上有回车键(enter),但是它和真正的回车其实是有区别的。

\n 表示换行

ASCII 码:10

这才是 enter 键应该干的事情。

\t 是水平制表符

ASCII 码:9

这个是 tab 键,在编程的时候默认缩进就是“\t”,不过现在主流是用4个空格来代替它。

回车和换行有什么区别?

在打字机时代,回车是将打印头定位到左边(你可以理解为复位)换行则是将打印头向下挪一行。

打字机每次换行必须是:回车+换行,才可以。

这和我们有什么关系?

没什么关系,历史遗留问题。

今天还有遗留问题吗?

windows 系统上,enter键,依然是 回车+换行的风格,也就是:

linux、mac系统上,enter键,则只是换行,也就是 (仅限macos 10以后的版本)

这会造成什么后果?

linux 上敲的文本(文档、代码等),在windows 上变成一行。

我试过了,并没有变成一行

因为你使用的是专业编辑器(他们帮我们做了自动转换),要用最传统的,比如:记事本。

对编程有什么影响?

在使用PHP 函数时,就有这样的提示:

PS:极为少见的提醒了两次。

了解这些制表符,对编程有什么帮助?

还是以 PHP为例:

这样可以实现换行(如果你想在HTML中实现换行,要用)

这样则不行。(看出和上面的区别了吗?)

当你使用 trim() 函数时,它都做了什么?

很多人都知道PHP中有一个过滤首尾空格的函数,但其实除了空格它还做了更多,包括:

(ASCII 32 (0x20)),普通空白字符。

(ASCII 9 (0x09)), 制表符.

(ASCII 10 (0x0A)),换行符。

(ASCII 13 (0x0D)),回车符。

(ASCII 0 (0x00)), NUL空字节符。

(ASCII 11 (0x0B)),垂直制表符。

总结

制表符位于 ASCII 码的0-31位(除了制表符还有其他,统称为控制字符),在编程中处理字符串的时候,应该要小心这些东西。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180711B0OVUD00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券