[求助]php處理倆個(gè)文本的效率問題
<?php<br />/*<br /><br />==> 1.txt <==<br />a:123<br />b:1333<br />c:333<br /><br />==> 2.txt <==<br />a:3333<br />aa:3433<br />c:323dfa<br /><br />==> result.txt <==<br />a:123:3333<br />c:333:323dfa<br /><br />*/<br /><br /><br />$file_1 = "1.txt";<br />$file_2 = "2.txt";<br /><br />$f = fopen("$file_1", 'r') or die("Cann't Open the file.");<br /><br />while (!(feof($f))) {<br /> $line = explode(':', trim(fgets($f)));<br /> $f2 = fopen("$file_2", 'r') or die("Cann't Open the file.");<br /> while (!(feof($f2))) {<br /> $line2 = explode(':', trim(fgets($f2)));<br /> if ($line[0] == $line2[0]) {<br /> $line[] = $line2[1];<br /> $aaaa = implode(":",$line);<br /> $output_file = fopen("./result.txt", 'a');<br /> echo "$aaaa\n";<br /> fwrite($output_file, "$aaaa\n");<br /> fclose($output_file);<br /> }<br /><br /> }<br />}<br />?>
$t = file('data/1.txt', FILE_IGNORE_NEW_LINES);<br />foreach($t as $v) {<br /> list($k, $v) = explode(':', $v);<br /> $a[$k][] = $v;<br />}<br />$t = file('data/2.txt', FILE_IGNORE_NEW_LINES);<br />foreach($t as $v) {<br /> list($k, $v) = explode(':', $v);<br /> $b[$k][] = $v;<br />}<br />foreach($a as $k=>$v) {<br /> if(isset($b[$k])) {<br /> file_put_contents('data/result.txt', join(':', array_merge(array($k), $v, $b[$k])). PHP_EOL, FILE_APPEND);<br /> }<br />}
PHP怎么學(xué)習(xí)?PHP怎么入門?PHP在哪學(xué)?PHP怎么學(xué)才快?不用擔(dān)心,這里為大家提供了PHP速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://www.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)