Php 如何在3个随机位置显示3个随机div

Php 如何在3个随机位置显示3个随机div,php,Php,如何在3个随机位置显示3个随机div 我有6个潜在的DIV名额。 所有6个div现在都需要隐藏。 当页面加载时,我只需要显示3个随机div,另外3个div需要隐藏 <?php $divs = array('<div id="divFirst">First Div</div>','<div id="divFirst">Second Div</div>','<div id="divFirst">Third Div</div&g

如何在3个随机位置显示3个随机div
我有6个潜在的DIV名额。 所有6个div现在都需要隐藏。 当页面加载时,我只需要显示3个随机div,另外3个div需要隐藏

<?php

$divs = array('<div id="divFirst">First Div</div>','<div id="divFirst">Second Div</div>','<div id="divFirst">Third Div</div>');

// Array with 3 random keys from $divs
$randKeys = array_rand($divs, 2);

//echo $divs[$randKeys[0]]; // First random div
//echo $divs[$randKeys[1]]; // Second random div
//echo $divs[$randKeys[2]]; // 3rd div
//shuffle($divs);
?>


<div class="text">This is a simple text</div>
<?php echo $divs[$randKeys[0]]; ?>
<div class="text">This is a simple text</div>
<?php echo $divs[$randKeys[1]]; ?>
<div class="text">This is a simple text</div>
<?php echo $divs[$randKeys[2]]; ?>
<div class="text">This is a simple text</div>
<?php echo $divs[$randKeys[1]]; ?>
<div class="text">This is a simple text</div>
<?php echo $divs[$randKeys[0]]; ?>
<div class="text">This is a simple text</div>
<?php echo $divs[$randKeys[2]]; ?>

看看这个:
$randKeys=array\u rand($divs,2)

第二个参数指定要从数组中删除的项目数。你想要3个,但你告诉它你想要2个

然后执行
,即尝试打印数组中的第三个元素(即数组从0开始计数)。但是现在数组中只有2个元素

另外,在数组中只保留div的内容也更有意义。然后你可以像这样做:

$randKeys = array_rand($divs, 6);
//because you want 3 shown, 3 hidden, thus 6

for($i=0; $i<6; $i++)
{
   $style='display: block';
   if($i>=3)
   {
      //we hide the last 3
      $style='display: none';
   }
   echo "<div id='div_$i' style='$style'>" . $divs[$randKeys[$i]] . "</div>";
}
$randKeys=array\u rand($divs,6);
//因为你想要3个显示,3个隐藏,所以6个
对于($i=0;$i=3)
{
//我们把最后三个藏起来
$style='display:none';
}
“回声”$divs[$randKeys[$i]]。"";
}
这解决了评论中提到的div id不唯一的问题

但是,要选择6,实际上需要在
$divs
数组中有6个元素,因为状态:

尝试拾取多于数组中的元素将导致E_警告级别错误,并返回NULL


你似乎或多或少都在做你要求的事情,你需要什么样的帮助?很难说你在寻求什么样的帮助。您希望您的代码会发生什么,以及会发生什么。顺便说一句,你的divid值都是一样的,html元素应该有一个唯一的id。是的,这看起来像一个解决方案。但如何回应这一点?我叫什么来代替