
1 -5 - названия файлов, на пересечении ячеек выводится процент совпадения файлов относительно друг друга.
Как и какими средствами это лучше всего реализовать?
Код обработчика:
<?php
$aFileName = array(
'1.txt',
'2.txt',
'3.txt',
'4.txt',
'5.txt',
);//запись файлов в массив
function CalculatePercentageMatches ($sFile1, $sFile2) {
$sOpen1 = file ($sFile1, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$sOpen2 = file ($sFile2, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$sFind = array_intersect ($sOpen1, $sOpen2);
print_r($sFind);
$sCountFile = count ($sOpen1);
$sCountFind = count ($sFind);
$sResult = round(($sCountFind/$sCountFile)*100, 2);
return $sResult;
}; //расчет процента совпадений
if (isset ($aFileName) && is_array ($aFileName)) {
$nCount = count ($aFileName);
$x = 0;
while ($x < $nCount -1):
$sFileName1 = $aFileName[$x];
$sFileName2 = $aFileName[$x+1];
$sPercentageMatches = CalculatePercentageMatches ($sFileName1, $sFileName2);
echo ('Процент совпадений '.$sFileName1.', '.$sFileName2.' равен '.$sPercentageMatches.'%<br>');
$x++;
endwhile;
};
//сравнить 1 с 2, 2 с 3, 3 с 4, 4 с 5
echo nl2br("\n ");
if (isset ($aFileName) && is_array ($aFileName)) {
$nCount = count ($aFileName);
$x = 1;
while ($x < $nCount +1):
$sFileName1 = $aFileName[$x];
$sFileName2 = $aFileName[$x-1];
$sPercentageMatches = CalculatePercentageMatches ($sFileName1, $sFileName2);
echo ('Процент совпадений '.$sFileName1.', '.$sFileName2.' равен '.$sPercentageMatches.'%<br>');
$x++;
if ($x == count ($aFileName)){
break;
}
// сравнить 2 с 1, 3 с 2, 4 с 3, 5 с 4
endwhile;
};
echo nl2br("\n ");
if (isset ($aFileName) && is_array ($aFileName)) {
$nCount = count ($aFileName);
$x = 2;
while ($x < $nCount +2):
$sFileName1 = $aFileName[$x];
$sFileName2 = $aFileName[$x-2];
$sPercentageMatches = CalculatePercentageMatches ($sFileName1, $sFileName2);
echo ('Процент совпадений '.$sFileName1.', '.$sFileName2.' равен '.$sPercentageMatches.'%<br>');
$x++;
if ($x == count ($aFileName)){
break;
}
// сравнить 3 с 1, 4 с 2, 5 с 3
endwhile;
};
echo nl2br("\n ");
if (isset ($aFileName) && is_array ($aFileName)) {
$nCount = count ($aFileName);
$x = 3;
while ($x < $nCount +2):
$sFileName1 = $aFileName[$x];
$sFileName2 = $aFileName[$x-3];
$sPercentageMatches = CalculatePercentageMatches ($sFileName1, $sFileName2);
echo ('Процент совпадений '.$sFileName1.', '.$sFileName2.' равен '.$sPercentageMatches.'%<br>');
$x++;
if ($x == count ($aFileName)){
break;
}
// сравнить 4 с 1, 5 с 2
endwhile;
};
echo nl2br("\n ");
if (isset ($aFileName) && is_array ($aFileName)) {
$nCount = count ($aFileName);
$x = 4;
while ($x < $nCount +2):
$sFileName1 = $aFileName[$x];
$sFileName2 = $aFileName[$x-4];
$sPercentageMatches = CalculatePercentageMatches ($sFileName1, $sFileName2);
echo ('Процент совпадений '.$sFileName1.', '.$sFileName2.' равен '.$sPercentageMatches.'%<br>');
$x++;
if ($x == count ($aFileName)){
break;
}
// сравнить 5 с 1
endwhile;
};
echo nl2br("\n ");
if (isset ($aFileName) && is_array ($aFileName)) {
$nCount = count ($aFileName);
$x = 0;
while ($x < $nCount +2):
$sFileName1 = $aFileName[$x];
$sFileName2 = $aFileName[$x+2];
$sPercentageMatches = CalculatePercentageMatches ($sFileName1, $sFileName2);
echo ('Процент совпадений '.$sFileName1.', '.$sFileName2.' равен '.$sPercentageMatches.'%<br>');
$x++;
if ($x == count ($aFileName)-2){
break;
}
// сравнить 1 c 3, 2 с 4, 3 с 5
endwhile;
};
echo nl2br("\n ");
if (isset ($aFileName) && is_array ($aFileName)) {
$nCount = count ($aFileName);
$x = 0;
while ($x < $nCount +2):
$sFileName1 = $aFileName[$x];
$sFileName2 = $aFileName[$x+3];
$sPercentageMatches = CalculatePercentageMatches ($sFileName1, $sFileName2);
echo ('Процент совпадений '.$sFileName1.', '.$sFileName2.' равен '.$sPercentageMatches.'%<br>');
$x++;
if ($x == count ($aFileName)-3){
break;
}
// сравнить 1 с 4, 2 с 5
endwhile;
};
echo nl2br("\n ");
if (isset ($aFileName) && is_array ($aFileName)) {
$nCount = count ($aFileName);
$x = 0;
while ($x < $nCount +2):
$sFileName1 = $aFileName[$x];
$sFileName2 = $aFileName[$x+4];
$sPercentageMatches = CalculatePercentageMatches ($sFileName1, $sFileName2);
echo ('Процент совпадений '.$sFileName1.', '.$sFileName2.' равен '.$sPercentageMatches.'%<br>');
$x++;
if ($x == count ($aFileName)-4){
break;
}
// сравнить 1 с 5
endwhile;
};
echo nl2br("\n ");
?>