Задать вопрос
@seoplus2019

Как сравнить 2 массива. Нужно узнать % сходства?

Добрый день. Есть 2 массива
$a=Array(1,1,0,1,0) ;
$b=Array(0,0,0,1,0) ;

Как узнать что массивы схожи в %?
  • Вопрос задан
  • 155 просмотров
Подписаться 2 Простой 6 комментариев
Решения вопроса 1
@poniyur
Условие: массивы должны быть одинаковой длиной.
В ином случае вам придется модифицировать код, я лишь написал функцию, работающую под ваш случай.
$a=Array(1,1,0,1,0);
$b=Array(0,0,0,1,0);

function getSimilarity($a1, $a2) {
    $c1 = count($a1);
    $same = 0;
    
    for($i = 0; $i < $c1; $i++) {
        if($a1[$i] == $a2[$i]) {
            $same++;
        }
    }
    
    return 100 * $same / $с1;
}

print_r( getSimilarity($a, $b) . '%' );
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Robur
@Robur
Знаю больше чем это необходимо
Для начала определите критерии "сходства". А то фантазий много может быть.
Для меня например массивы похожи если длина одинакова. Тогда просто- сравниваем длину.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы