在php中如何从文件中读取多行并将其拆分为数组

在php中如何从文件中读取多行并将其拆分为数组,php,Php,我有一个包含以下内容的文件: ali 123456 vali 154667 我想读取此文件并按如下方式拆分为数组: $array[0][0]=ali $array[0][1]=123456 $array[1][0]=vali $array[1][1]=154667 我搜索了一下,看到了一些文件,但我看不到我想要的! 请告诉我该怎么做 首先,Minallah Tofig解释了如何在PHP中逐行读取文件。它的顶部和底部是: $handle = fopen("inputfile.txt", "

我有一个包含以下内容的文件:

ali 123456
vali 154667
我想读取此文件并按如下方式拆分为数组:

$array[0][0]=ali 
$array[0][1]=123456
$array[1][0]=vali
$array[1][1]=154667 
我搜索了一下,看到了一些文件,但我看不到我想要的! 请告诉我该怎么做

首先,Minallah Tofig解释了如何在PHP中逐行读取文件。它的顶部和底部是:

$handle = fopen("inputfile.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        // process the line read.
    }
} else {
    // error opening the file.
}  
fclose($handle);
现在在你的例子中,你有一条结构化的线。就是

<name><space><value>
然后,您可以创建一个
Person
对象数组

$people = array();
然后在每一行中循环并创建一个
Person
对象

while(($line = fgets($handle)) !== false) {
    $people[] = new Person($line);
}
现在你已经有了拼图的所有部分,由你来把它们拼在一起

首先,解释如何在PHP中逐行读取文件。它的顶部和底部是:

$handle = fopen("inputfile.txt", "r");
if ($handle) {
    while (($line = fgets($handle)) !== false) {
        // process the line read.
    }
} else {
    // error opening the file.
}  
fclose($handle);
现在在你的例子中,你有一条结构化的线。就是

<name><space><value>
然后,您可以创建一个
Person
对象数组

$people = array();
然后在每一行中循环并创建一个
Person
对象

while(($line = fgets($handle)) !== false) {
    $people[] = new Person($line);
}

现在你已经有了拼图的所有部分,由你来把它们拼在一起

首先,初始化数组:

$myArray = array();
打开文件:

$file = fopen("myfile.txt", "r");
逐行迭代文件

while (!feof($file)) {
   $line = fgets($file);
   $myArray[] = explode(' ', $line);
}
关闭文件

fclose($file);

$myArray
包含您的结果

首先,初始化数组:

$myArray = array();
打开文件:

$file = fopen("myfile.txt", "r");
逐行迭代文件

while (!feof($file)) {
   $line = fgets($file);
   $myArray[] = explode(' ', $line);
}
关闭文件

fclose($file);

$myArray
包含结果

您可以使用php函数file()将文件逐行读取到数组中。然后你必须循环通过它,然后在空白处爆炸()

$array = file('file.txt.');
foreach($array as $key => $line) {
    $array[$key] = explode(" ", $line);
}


您可以使用php函数file()将文件逐行读取到数组中。然后你必须循环通过它,然后在空白处爆炸()

$array = file('file.txt.');
foreach($array as $key => $line) {
    $array[$key] = explode(" ", $line);
}


此处尝试开始链接此处尝试开始链接为何仍在使用旧的PHP4函数?创建一个类并为每行创建一个新的类对象背后的逻辑是什么?@CharlotteDunois我刚刚从另一个答案中得出;不想复制答案。我会投票支持你使用后面的代码。逻辑是,概念化要容易得多。最好有一个
Person
对象的列表,而不是一个丑陋的多维值数组。好吧,你必须权衡这个类的成本和使用因素。“丑陋的多维数组”(我认为它比用一个类来处理不需要的东西要好)的成本要比构建一个类小得多@Christopher但是下一个出现的家伙将更容易使用
$person->getName()
然后
$array[$key][0][0]
。这不仅仅是关于代码的效率。它是关于生成可维护代码的。显然,这只是两种不同的发展方式@CharlottedNois为什么你还在使用旧的PHP4函数?创建一个类并为每一行创建一个新的类对象背后的逻辑是什么?@CharlottedNois我刚刚从另一个答案中得出;不想复制答案。我会投票支持你使用后面的代码。逻辑是,概念化要容易得多。最好有一个
Person
对象的列表,而不是一个丑陋的多维值数组。好吧,你必须权衡这个类的成本和使用因素。“丑陋的多维数组”(我认为它比用一个类来处理不需要的东西要好)的成本要比构建一个类小得多@Christopher但是下一个出现的家伙将更容易使用
$person->getName()
然后
$array[$key][0][0]
。这不仅仅是关于代码的效率。它是关于生成可维护代码的。显然,这只是两种不同的发展方式@夏洛特:谢谢,你的回答是我想要的!谢谢,你的答案是我想要的!