我正在尝试在php中加载.txt文件,然后将数据转换为数组以使用标记照片。具体来说,我想要一个文本文件,其中包含许多照片标题和标题,然后我可以动态地为我的照片添加标签。这是我到目前为止所做的,它工作得很好,但没有创建我理解的数组。当它返回“$ arrM [1]”时,它返回我的文本文件的每一行中的第一项而不是第一项。
$f = fopen("set_data.txt", "r");
while (!feof($f)) {
$arrM = explode(",",fgets($f));
echo $arrM[1];
}
fclose($f);
我的文本文件如下:
title a, caption a
title b, caption b
title c, caption c
所以,我的问题是:
如何格式化我的txt文件,以便项目可以唯一寻址?我不明白换行符和逗号(或任何其他可以作为分隔符的符号)之间的区别。网上没有什么能帮助说清楚这一点。
如何将txt文件分解为数组?理想情况下,我希望能够单独检索“标题a”或“标题b”并基于变量(例如“$ arrM [i]”),但它不是以这种方式创建数组。我需要能够解决数组条目的数量以及数组的部分。因此,在简单的语言中,我需要能够将其称为“数组条目号2,向我显示第二项”。
< / LI> 醇>有什么想法吗?
答案 0 :(得分:2)
它返回所有标题,因为你在while循环中有回声。
你可以这样做:
$data = array();
$f = fopen("set_data.txt", "r");
while (!feof($f)) {
$data[] = explode(",",fgets($f));
}
fclose($f);
var_dump($data);
换行符是一个创建新行的特殊字符。
可以是\n
换行符(Unix)\r
回车符号\n\r
换行符+回车符号为了帮助解决这个问题,有PHP_EOL(php常量)。
分隔符是从字符串创建子字符串时使用的限制字符。