您的位置:首页 > 编程语言 > PHP开发

PHP踩坑记录之explode分割字符串函数

2020-07-16 06:00 1136 查看

引言:今天同学突然问我php分割字符串怎么做?该用什么?我把一个文件的内容全部读出来 然后根据换行来分割。
怎么分割?我心想这个我知道explode分割字符串函数吗,随手把explode函数官方手册发给了他,不过事情好像没有那么简单。

explode函数

首先,我们来看下explode字符串分割函数函数的用法:

[code]explode ( string $delimiter , string $string [, int $limit ] ) : array

函数中的参数,我就不解释了,这里有一点需要注意第一个参数$delimiter,在使用时要注意双引号(" ")与单引号(' ')的区别,一般来说有明确的边界分割字符直接可以使用单引号,无需使用双引号进行解析。不过边界分割字符为空格(" "),换行(" \n")等就需要使用双引号进行解析。

下面我们就来举个例子,首先新建文本文件test.txt,内容如下:

  1. imponyxiao
  2. hello
  3. word

 接下来,我们来写PHP文件explode.php: 

[code]<?php
//读取文件内容
$f = file_get_contents('./test.txt');
//通过换行来分割文件内容
$n = explode("\n", $f);

print_r($n);

这里还要说一下,换行符的表示主要有三种:LF(Line Feed即换行,转义字符用“\n”表示,十六进制0x0A),CR(Carriage Return 即回车,转义字符用“\r”表示,十六进制0x0D)和CRLF(由两个字符“CR+LF”组成,即“\r\n”,十六进制0x0D 0x0A)。一般操作系统上的运行库会自动决定文本文件的换行格式:程序在Windows上运行就生成CRLF换行格式的文本文件,而在Linux上运行就生成LF格式换行的文本文件。因此,当我们在Windows系统上编辑文本文件时,敲下“enter”键或者写入“\n”,系统会经过一个隐式的转换,将“\n”转换成“\r\n”再写入文件,反过来当我们对文件进行读取时,系统又会进行一个隐式的转换,将读取到的“\r\n”转换为“\n”输出。

这里对"\n","\r\n"进行了测试,结果是一样的。

嗯,就是这样了。总结有两点:

  1. 注意单双引号的区别;
  2. 理解换行符号的使用;

生命不息,踩坑不止。 

参考文章

 

https://blog.csdn.net/u012294618/article/details/77979604

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: