Bu yapmak istediğinizi basit bir fonksiyon haline getirdim for içerisinde yapmak istediklerinizi yapıp return edebilirsiniz.

<?php
$links = ["a", "b", "c", "d", "e", "f", "g", "h", "k"];
randomLink(3, $links, 5);

function randomLink($randomLinksCount, $links,$arrayCount){
    $newLinkArray = [];

        for($j=0; $j<$arrayCount; $j++){
        $randomLinks = array_rand($links, $randomLinksCount);

            for($i=0; $i < $randomLinksCount; $i++){
            print_r($links[$randomLinks[$i]]);
            echo "<br>";
               /*
                  Yapılacak İşlemler..

                */
           }
      }
}
$links olarak belirttiğim sizin linkleri tuttuğunuz array.
randomLink fonksiyonun ismi 3 tane parametre alıyor. Birinci parametre her array'de kaç adet link bulunacak. İkinci parametre Link array'iniz yani linklerin seçileceği array. Üçüncü parametre ise kaç tane array oluşturulacak.

Örnek Çıktı;




-

"Yapılacak işlemler" yazan yerde ihtiyacınıza göre iç içe array oluşturabilirsiniz.
CodeShare Linki : https://codeshare.io/Gq1pxj