Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用数组将css类分配给tagcloud_Php_Css_Arrays_Styling_Tag Cloud - Fatal编程技术网

Php 使用数组将css类分配给tagcloud

Php 使用数组将css类分配给tagcloud,php,css,arrays,styling,tag-cloud,Php,Css,Arrays,Styling,Tag Cloud,我想知道是否还有其他方法可以做到这一点: $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

我想知道是否还有其他方法可以做到这一点:

$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>"; 
}
$classes=数组(“tag5”、“tag2”、“tag9”、“tag4”、“tag1”、“tag6”、“tag10”、“tag8”、“tag3”、“tag7”);
洗牌($tags);
foreach($tags作为$tag){
$class=$classes[array_rand($classes)];
回声“
  • ”; }
    问题是,当我使用这种方法时,同一个a.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>"; 
    }
    
    $classes=数组(“tag5”、“tag2”、“tag9”、“tag4”、“tag1”、“tag6”、“tag10”、“tag8”、“tag3”、“tag7”);
    洗牌($tags);
    foreach($i=>$tag的标记){
    $class=$classes[$i%计数($classes)];
    回声“
  • ”; }
    洗牌是否足以使数组随机化?它会给你一个随机顺序,没有repeats@Tom:欢迎来到SO。请接受答案。这将标记您的问题为已回答,这就是该网站的工作方式。请参阅:-谢谢!