przenieś tablicę, jeśli odpowiadające jej wartości mają minimum 5 iteracji, ma duplikat

Czy istnieje kod php, który może przenieść wielowymiarową tablicę minimum 5 iteracji, jeśli wartości mają duplikat?

To jest przykładowy kod.

<?php
  $results = array( 
               array('value'   =>  10),
               array('value'   =>  2),
               array('value'   =>  1),
               array('value'   =>  3),
               array('value'   =>  2), //This will move 
                    array('value'   =>  4),
                    array('value'   =>  5),
                    array('value'   =>  5),  //This will move
                    array('value'   =>  3),  //This will move
                    array('value'   =>  4),  //This will move
                    array('value'   =>  10), //Ok reach minimum of 5 count
                    array('value'   =>  9),
                    array('value'   =>  8),
                    array('value'   =>  7),
                    array('value'   =>  7), // This will move
                    array('value'   =>  8), // This will move
                    array('value'   =>  1), //Ok reach minimum of 5 count
                    array('value'   =>  6), 
                    array('value'   =>  6),  // This will move  
                    array('value'   =>  19) //Ok reach minimum of 5 count               
                    );
                );
?>


To jest podstawowy pomysł. Chcę przenieść wartości, jeśli znajdą duplikat w minimum 5 iteracjach. Przesuwanie iteracji może poruszać się o więcej niż 5. Dane mogą być losowe. Zapętli, aby znaleźć lepszy wynik. czy to możliwe?

Oto moje oczekiwane wyniki. Mogą to być inne wyniki, które mogą spełnić logikę.

<?php
  $results = array( 
               array(
                    array('value'   =>  6), //Ok
                    array('value'   =>  9), //Ok
                    array('value'   =>  2), //Ok
                    array('value'   =>  7), //Ok
                    array('value'   =>  1), //Ok
                    array('value'   =>  4), //Ok
                    array('value'   =>  8), //Ok
                    array('value'   =>  5), //Ok
                    array('value'   =>  9), //Ok
                    array('value'   =>  2), //Ok
                    array('value'   =>  3), //Ok
                    array('value'   =>  6), //Ok
                    array('value'   =>  4), //Ok
                    array('value'   =>  10), //Ok
                    array('value'   =>  8), //Ok
                    array('value'   =>  7), //Ok
                    array('value'   =>  1), //Ok
                    array('value'   =>  3), //Ok
                    array('value'   =>  5),  //Ok
                    array('value'   =>  10)  //Ok                   
                    );
                );
?>


Mam nadzieję, że możesz mi pomóc.

EDYTOWAĆ:

Oto mój kod

<?php
$required_array = array();
$temp  = "";     
$temp2 = "";   
foreach($array as $key=>$child) {
    if( $child["value"]==$temp ) {
        $i = $key+5; 
        $required_array[$i] = $child;
    } else {
        $i = $key;
        //if(isset($required_array[$i])) $i++; 
        while(isset($required_array[$i])) { 
            $i++;                           
        }                                  

        $required_array[$i] = $child;   
    }
    $temp  = $child["value"];

}
ksort($required_array); 
print_r($required_array);

//Tried this but always move on five iterations and found duplicate within the range of five 

questionAnswers(1)

yourAnswerToTheQuestion