переместить массив, если соответствующие значения как минимум за 5 итераций имеют дубликат

Есть ли PHP-код, который может перемещать многомерный массив минимум 5 итераций, если значения имеют дубликат?

Это пример кода.

  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               
                    );
                );
?>



Это основная идея. Я хочу переместить значения, если они нашли дубликат в течение минимум 5 итераций. Перемещение итераций может превышать 5. Данные могут быть случайными. Это будет цикл, чтобы найти лучший результат. Это возможно?

Вот мои ожидаемые результаты. Это могут быть другие результаты, которые могут удовлетворить логику.

  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                   
                    );
                );
?>



Надеюсь, ты сможешь мне помочь.

РЕДАКТИРОВАТЬ:

Вот мой код

$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 

Ответы на вопрос(1)

Ваш ответ на вопрос