所以我有兩個文件,格式如下:解析兩個文件,並比較字符串
第一個文件
adam 20 male
ben 21 male
第二個文件
adam blonde
adam white
ben blonde
我想這樣做,是在第一個文件中使用adam的實例,並在第二個文件中搜索並打印出屬性。
數據由標籤「\ t」分隔,所以這是我到目前爲止。
$firstFile = fopen("file1", "rb"); //opens first file
$i=0;
$k=0;
while (!feof($firstFile)) { //feof = while not end of file
$firstFileRow = fgets($firstFile); //fgets gets line
$parts = explode("\t", $firstFileRow); //splits line into 3 strings using tab delimiter
$secondFile= fopen("file2", "rb");
$countRow = count($secondFile); //count rows in second file
while ($i<= $countRow){ //while the file still has rows to search
$row = fgets($firstFile); //gets whole row
$parts2 = explode("\t", $row);
if ($parts[0] ==$parts2[0]){
print $parts[0]. " has " . $parts2[1]. "<br>" ; //prints out the 3 parts
$i++;
}
}
}
我無法通過第二個文件找出如何循環,讓每一行,並比較的第一個文件。
如果您的第一個文件不是很大,我會建議將第一個文件讀入緩存,然後將第二個文件的內容合併爲一個可能是多維數組。 – Passerby