以下代码:
$names = file_get_contents('names.txt');
var_dump($names);
在var_dump中返回:
array (size=1)
0 => string 'asd
dwqd
asfa
fewfw' (length=22)
同时,这会返回正确的方式:
$test = array('tete','asdasd','yryr');
var_dump($test);
结果:
array (size=3)
0 => string 'tete' (length=4)
1 => string 'asdasd' (length=6)
2 => string 'yryr' (length=4)
因此,当我尝试从文件中获取名称并使其数组返回错误的格式数组时,代码块。 names.txt
的构建如下:
asd
dwqd
asfa
fewfw
答案 0 :(得分:0)
您只是从文本文件中打印普通字符串。你需要爆炸到数组。
使用,
$array = explode(" ",$names);
var_dump($array);
答案 1 :(得分:0)
使用file()
:
$names = trim(file('names.txt'));
var_dump($names);
答案 2 :(得分:0)
你的问题是你没有将这些行分成一个数组,它只是将整个文件作为一个文本块读取。
将file()
与FILE_IGNORE_NEW_LINES
标志一起使用。标志显示Do not add newline at the end of each array element
,将多行转换为数组的单行。
尝试:
$names = file('names.txt', FILE_IGNORE_NEW_LINES);
var_dump($names);