有没有办法将文件的每一行拆分为数组的一个元素? 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);