有没有办法将文件的每一行拆分为数组的一个元素? PHP
Is there a way to split up each line of a file into an element of an array | PHP
直截了当地说:不,这不是 "usual question" 是的 - 我已经阅读了有关该主题的其他 Whosebug 文章,但它们对我没有帮助。
如果您在文件中创建数组并查看输出:
$names = ["test123", "test!?", "test"];
var_dump($names);
输出:
array(3) {
[0]=>
string(7) "test123"
[1]=>
string(6) "test!?"
[2]=>
string(4) "test"
}
...完全正确。 3 个元素,每个元素一个字符串。
但是如果你通过 explode 读取文件的行并将它们输入到数组中:
$names = explode("\n", file_get_contents('list.txt'));
var_dump($names);
输出:
array(3) {
[0]=>
" string(8) "test123
[1]=>
" string(7) "test!?
[2]=>
string(4) "test"
}
... 这与第一个不同,因为它们都是字符串,但(不包括最后一个)每个多一个字符 + 不被引用为上面的数组。
所以我的问题是: 我怎样才能将文件的所有行读入数组的元素,并使用我提供的第一个示例的准确拼写?对于进一步的程序,我需要作为 "normal array" 的确切格式,但我无法让它工作:)
我想你可以使用这行代码
$lines = file($filename, FILE_IGNORE_NEW_LINES);
直截了当地说:不,这不是 "usual question" 是的 - 我已经阅读了有关该主题的其他 Whosebug 文章,但它们对我没有帮助。
如果您在文件中创建数组并查看输出:
$names = ["test123", "test!?", "test"];
var_dump($names);
输出:
array(3) {
[0]=>
string(7) "test123"
[1]=>
string(6) "test!?"
[2]=>
string(4) "test"
}
...完全正确。 3 个元素,每个元素一个字符串。
但是如果你通过 explode 读取文件的行并将它们输入到数组中:
$names = explode("\n", file_get_contents('list.txt'));
var_dump($names);
输出:
array(3) {
[0]=>
" string(8) "test123
[1]=>
" string(7) "test!?
[2]=>
string(4) "test"
}
... 这与第一个不同,因为它们都是字符串,但(不包括最后一个)每个多一个字符 + 不被引用为上面的数组。
所以我的问题是: 我怎样才能将文件的所有行读入数组的元素,并使用我提供的第一个示例的准确拼写?对于进一步的程序,我需要作为 "normal array" 的确切格式,但我无法让它工作:)
我想你可以使用这行代码
$lines = file($filename, FILE_IGNORE_NEW_LINES);