使用数组将CSS类分配给标签云


using array to assign css classes to tagcloud

我想知道是否有任何其他方法来做这样的事情:

$classes = array("tag5", "tag2", "tag9", "tag4", "tag1", "tag6", "tag10", "tag8", "tag3", "tag7" );
shuffle($tags); 
foreach ($tags as $tag) { 
    $class = $classes[array_rand($classes)];
    echo "<li><a href='#' class='".$class."'> ".$tag."</a></li>"; 
}

问题是,当我使用这种方法时,同一个a.c class会被选中多次,而有些类根本不会被选中。

我希望使用tag1通过tag10,而不是选择相同的类两次,直到每10已采取。

有人知道我怎么才能做到这一点吗?

感谢所有的回复!

由于您已经使用shuffle随机化了类的顺序,因此没有理由再次随机化它们-只需按顺序循环

$classes = array("tag5", "tag2", "tag9", "tag4", "tag1", "tag6", "tag10", "tag8", "tag3", "tag7" );
shuffle($tags); 
foreach ($tags as $i => $tag) { 
    $class = $classes[$i % count($classes)];
    echo "<li><a href='#' class='".$class."'> ".$tag."</a></li>"; 
}