我有一个包含以下内容的文件:
ali 123456
vali 154667
我想读取这个文件并拆分成这样的数组:
$array[0][0]=ali
$array[0][1]=123456
$array[1][0]=vali
$array[1][1]=154667
我搜索了这个并看到了w3schools文件,但我无法阅读我的想法! 请告诉我我该怎么做!
最好的问候,Minallah Tofig
答案 0 :(得分:3)
您可以使用php函数文件()将文件逐行读入数组。然后你必须循环它并通过空白区域爆炸()。
$array = file('file.txt.');
foreach($array as $key => $line) {
$array[$key] = explode(" ", $line);
}
答案 1 :(得分:1)
$myArray = array();
打开文件:
$file = fopen("myfile.txt", "r");
逐行迭代文件
while (!feof($file) ) {
$line = fgets($file);
$myArray[] = explode(' ', $line);
}
关闭文件
fclose($file);
// $ myArray包含您的结果
答案 2 :(得分:0)
首先,this question解释了如何在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>
我强烈反对使用多维数组。相反,请寻求基于OOP的解决方案。首先,定义一个类。
class Person {
protected $name;
protected $code;
function __construct($line) {
// Split and load.
}
}
然后你可以创建一个Person
个对象的数组。
$people = array();
然后遍历每一行并创建一个Person
对象。
while(($line = fgets($handle)) !== false) {
$people[] = new Person($line);
}
现在你已经掌握了所有拼图,你可以把它们拼凑起来!