cerco di essere conciso per esporre il problema
avendo due file a.txt e b.txt
il primo contiene righe nella forma :
il secondo contiene righe nella forma :pippo;prova:11766:vC23:S13.0E:27500:512:650:576:0:3401:318:5200:0
ho scritto questo codice ma due foreach insieme già mi suonano molto strano.. comunque:4402:161:84=pol,85=eng:1002:161:0
confronto i dati in grassetto tra i due filecodice:$cona=file(a.txt); $conb=file("b.txt"); foreach($cona as $line) { $tline = trim($line); $blocks=explode(":",$tline); foreach($conb as $dati) { $tdati = trim($dati); $blockdati=explode(":",$tdati); if ($blockdati[0] == $blocks[9]) { $blocks[5] = $blockdati[1]; $blocks[6] = $blockdati[2]; $blocks[7] = $blockdati[5]; } } $final = implode(":",$blocks);;
quindi in questo modo confronto se il blocco 9 dell'array dalle linee del file a.txt è presente nel primo blocco dell'array dalle linee del file b.txt
in caso affermativo modifico la linea del file a.txt e mi rischivo il tutto in un file...
volevo sapere se era possibile un codice più snello per fare la medesima cosa? perchè non è raro che mi capiti un
Fatal error: Maximum execution time of 30 seconds exceeded..
Saluti

Rispondi quotando