通过list()在for循环中创建数组?

时间:2012-11-02 08:47:39

标签: php arrays

$$我有一堆文本文件,我最终会爆炸成数组,但由于文本文件的数量是通过用户输入动态选择的,我不能只是逐个初始化它们而是我选择了for循环。

为了举例,我有三个文本文件包含以下内容(原谅\ n,想象它是一个换行符):

  

file1.txt = 1 \ n 2 \ n 3

     

file2.txt = 6 \ n 2 \ n 7

     

file3.txt = 9 \ n 1 \ n 9

我尝试的代码:

<?php
    for ($i = 1; $i <= 3; $i++) {
        list($line1[$i], $line2[$i], $line3[$i]) = file("public_html/texts/file".$i.".txt");
?>

这显然不起作用,但我不确定为什么。最后,结果应该是:

$line1[1] = 1
$line2[1] = 2
$line3[1] = 3
$line1[2] = 6
$line2[2] = 2
$line3[2] = 7
$line1[3] = 9
$line2[3] = 1
$line3[3] = 9

我该怎么做?

编辑;固定错字。

2 个答案:

答案 0 :(得分:2)

您的代码中有错误,请参阅:

file("public_html/texts/file".&i.".txt");
                              ^-- TYPO HERE

答案 1 :(得分:1)

for($i = 1; $i <= 3; $i++) {

    $lines = file('public_html/texts/file' . $i . '.txt');

    $line1[] = $lines[0];
    $line2[] = $lines[1];
    $line3[] = $lines[2];
}