在PHP开发中,会遇到需要调用文本数据的情况,但是保存的文本,有时候会遇到因为数据量大,出现某行为空...
在PHP开发中,会遇到需要调用文本数据的情况,但是保存的文本,有时候会遇到因为数据量大,出现某行为空的情况,因此,有些特殊函数可以处理这些内容。
(以下为“官方”函数解释)
定义和用法
file() 函数把整个文件读入一个数组中。
与 file_get_contents() 类似,不同的是 file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。
如果失败,则返回 false。
语法
file(path,include_path,context)
参数 | 描述 |
---|---|
path | 必需。规定要读取的文件。 |
include_path | 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。 |
context |
可选。规定文件句柄的环境。 context 是一套可以修改流的行为的选项。若使用 null,则忽略。 |
说明
对 context 的支持是 PHP 5.0.0 添加的。
返回的数组中每一行都包括了行结束符,因此如果不需要行结束符时还需要使用 rtrim() 函数。
定义和用法
array_filter() 函数用回调函数过滤数组中的值。
该函数把输入数组中的每个键值传给回调函数。如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。
语法
array_filter(array,callbackfunction);
参数 | 描述 |
---|---|
array | 必需。规定要过滤的数组。 |
callbackfunction | 必需。规定要使用的回调函数。 |
技术细节
返回值: | 返回过滤的数组。 |
PHP 版本: | 4.0.6+ |
看似不相干的两个函数,可以使得我们快速解决某些问题
首先,读取某个文件,并且使得文件内容的成为一个数组,每一行都是一个元素。
$arr=file('demo.txt');
随后,直接格式化数组
$arr = array_filter($arr);
届时,得到的数组中,仅包含了含有字符串的元素