我有一个列表(如字符串,比如$ peoplelist),如下所示:
Name1
Name2
Name3
我要做的是将整个字符串分成单独的元素(其中每一行对应一个新元素//即元素1是“Name1”,元素2是“Name2”等)并放置它们到一个数组(基本上,使用行断开作为分隔符并将该字符串拆分为单独的元素,以便放入唯一索引下的数组中。)
这是我到目前为止所做的:
# Step 1 - Fetch the list
$peoplelist = file_get_contents('http://domain.tld/file-path/')
//The Contents of $peoplelist is stated at the top of this question.
//(The list of names in blue)
# Step 2 - Split the List, and put into an array
$arrayX = preg_split("/[\r\n]+/", $playerlist);
var_dump($arrayX);
现在,使用上面提到的代码,这就是我得到的(输出):
array(1) { [0]=> string(71) "Name1
Name2
Name3
" }
根据我的输出,(根据我的理解)整个字符串(步骤1中的列表)被放入一个索引下的数组中,这意味着第二步没有有效地做我想要的事情要做。
我的问题是,如何将列表拆分为单独的元素(原始列表中的每个单独行是唯一元素)并将这些元素放在数组中?
编辑: 感谢大家的帮助!感谢localheinz提供的解决方案:)
注意:如果有人将来读取此内容,请确保您的列表源文件包含原始数据 - 我的错误是使用扩展名为.php且包含html标记的文件 - 这个html脚本干扰了索引过程。
答案 0 :(得分:7)
使用file()
:
$arrayX = file(
'http://domain.tld/file-path/',
FILE_IGNORE_NEW_LINES
);
供参考,见:
答案 1 :(得分:3)
试试吧。
<?php
$peoplelist = file_get_contents('text.txt');
$arrayX[0] = $peoplelist;
echo "<pre>";
var_dump($arrayX);
?>
=&GT; OUTPUT
array(1) {
[0]=>
string(19) "Name1
Name2
Name3"
}
答案 2 :(得分:2)
您可以在PHP中使用explode()。请参阅下面的代码,使用分隔符\n
分割字符串:
explode("\n", $string);
答案 3 :(得分:2)