数组未正确返回

时间:2014-07-18 14:51:07

标签: php arrays file-get-contents

以下代码:

$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

3 个答案:

答案 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);