讲师中心 微信公众号
AI工具推荐 视频效率加速

php怎么把文件写到数组里去_php文件写入数组实现与读取技巧

星瑶酱_1570

星瑶酱_1570

发布时间:2025-12-21 23:08:02

|

351人浏览过

|

来源于php中文网

原创

可使用file()、file_get_contents()+explode()、fgets()循环、fgetcsv()或var_export()等方法将PHP文件内容读取并存储到数组中,适用于不同场景与文件格式。

php怎么把文件写到数组里去_php文件写入数组实现与读取技巧

如果需要将PHP文件内容读取并存储到数组中,通常是因为要对文件中的每行数据或结构化内容进行逐项处理。以下是实现此目标的多种方法:

一、使用file()函数直接读取为数组

file()函数会将整个文件按行读取,并自动以换行符为分隔,返回一个索引数组,每行内容作为数组的一个元素,且保留末尾的换行符。

1、在PHP脚本中调用file()函数,传入文件路径作为参数。

2、为避免警告,先使用is_readable()检查文件是否可读。

立即学习“PHP免费学习笔记(深入)”;

3、若需去除每行末尾的换行符,可在调用时传入FILE_IGNORE_NEW_LINES标志。

4、如还需同时去除行首行尾空白,可额外组合使用FILE_SKIP_EMPTY_LINES标志。

二、使用file_get_contents()配合explode()分割

该方式先将文件全部内容读为字符串,再按指定分隔符(如换行符)手动切分为数组,适用于自定义分隔逻辑或非标准换行格式的文件。

1、调用file_get_contents()读取文件全部内容为字符串。

2、使用explode("\n", $content)按换行符分割字符串。

3、遍历结果数组,用trim()清理每个元素两端空白和换行符。

4、可选:使用array_filter()剔除空字符串元素。

三、逐行读取并动态追加至数组(适用于大文件)

当文件体积较大、内存受限时,不宜一次性加载全部内容;此时可用fgets()循环逐行读取,边读边存入数组,控制内存占用。

1、使用fopen()以只读模式打开文件,获取文件指针资源。

2、初始化一个空数组用于存储各行内容。

Knowledge Graph - Csv Graph Loader Generator
Knowledge Graph - Csv Graph Loader Generator

从 CSV 数据集生成图数据库加载器和三元组映射。将表格 CSV 数据转换为图数据库可直接使用的节点、边和三元组。

下载

3、在while循环中调用fgets()读取一行,判断返回值是否为false以终止循环。

4、对每次读取的行使用rtrim()移除末尾换行符后,使用[]语法追加进数组。

5、循环结束后调用fclose()关闭文件指针。

四、解析CSV格式文件为关联数组

若文件为CSV结构(含标题行),可借助fgetcsv()配合array_combine()生成键值对数组,便于按字段名访问数据。

1、用fopen()打开CSV文件。

2、首次调用fgetcsv()读取首行,作为字段名数组。

3、后续每次调用fgetcsv()读取数据行,与字段名数组配对生成关联数组。

4、使用array_combine()将字段名与当前行值合并为一个子数组,并push进主数组。

5、注意设置正确的locale和编码,确保CSV文件为UTF-8无BOM格式,否则可能解析错乱。

五、反向操作:将数组写入文件并保持可读性

虽然标题聚焦“写入数组”,但实际常需配套实现数组持久化;使用var_export()可生成可被PHP直接include的数组定义代码,适合配置类场景。

1、调用var_export($array, true)将数组转为格式化字符串表示。

2、拼接"

3、使用file_put_contents()将该字符串写入.php扩展文件。

4、此后可通过require或include该文件,直接获得原数组变量,无需json_decode或unserialize。

热门AI工具

更多
讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

相关专题

更多
while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

354

2023.09.25

fclose函数的用法
fclose函数的用法

fclose是一个C语言和C++中的标准库函数,用于关闭一个已经打开的文件,是文件操作中非常重要的一个函数,用于将文件流与底层文件系统分离,释放相关的资源。更多关于fclose函数的相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

842

2023.11.30

fgets在c语言中的用法
fgets在c语言中的用法

本专题整合了c语言中fgets用法介绍,阅读专题下面的文章了解更多详细内容。

153

2025.08.27

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1818

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2884

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

6204

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

6029

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

7634

2024.03.22

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

60

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn