<?
#количество итераций над базой
$col=2;
#откуда брать
$from='1.txt';
#куда записать
$to='2.txt';
#флаг
$flag='|';
$text=file_get_contents($from);
While($doo<$col){
echo "Обход $doo <br>";
$a=array();
$b=array();
$link=array();
$r=array();
$text=str_replace(";",'',$text);
$text=str_replace("\r",'',$text);
$group=explode("\n",$text);
unset($group[(count($group)-1)]);
foreach($group as $k=>$v)
{
$a[$k]=explode($flag,$v);
foreach ($a[$k] as $v1)
{
$r[$v1][]=$k;
$link[$k]=$k;
}
}
foreach($r as $key=>$val){
$alle++;
if(count($r[$key])>1)
{
$star=$link[($r[$key][0])];
if($b[$star]){
unset($b[$star]);
}
foreach($r[$key] as $ff => $ee){
$that=$r[$key][$ff];
$a[$star]=array_unique(array_merge($a[$star],$a[$that]));
if($ff>0){
$b[$that]=1;
}
}
}
}
echo $alle;
$doo++;
$text='';
foreach($a as $k=>$v){
if(!($b[$k])){
$text.=implode($flag,$a[$k]).';'."\r\n";
}
}
}
file_put_contents($to,$text);
?>