Php for循环,2倍相同id,随机
我试图创建一个记忆游戏,但我遇到了一个问题,我不能循环通过所有的图像与2倍相同的id,所以2x id1,2x id2 2x id3等。同样的id需要随机分配给图像 PHP:Php for循环,2倍相同id,随机,php,html,Php,Html,我试图创建一个记忆游戏,但我遇到了一个问题,我不能循环通过所有的图像与2倍相同的id,所以2x id1,2x id2 2x id3等。同样的id需要随机分配给图像 PHP: class Kaart { public function getCard() { for ($x = 1; $x <= 16; $x++) { echo "<img src='img/card_back.jpg' id=RANDOMID>";
class Kaart
{
public function getCard()
{
for ($x = 1; $x <= 16; $x++) {
echo "<img src='img/card_back.jpg' id=RANDOMID>";
}
}
}
Kaart类
{
公共函数getCard()
{
对于($x=1;$x当您创建Kaart
对象时,这将通过合并您传入的数字范围的两个列表(合并两个范围-range(1,$count)
)创建一个组,然后洗牌
然后展示牌只意味着在洗过的牌堆上循环
class Kaart
{
private $deck = null;
public function __construct( $count ) {
// Create list with 2xid's
$this->deck = array_merge(range(1,$count), range(1,$count));
// randomize the deck
shuffle($this->deck );
}
public function getCard()
{
// Loop over the randomized dech
foreach ( $this->deck as $card ) {
echo "<img src='img/card_back.jpg' id='{$card}'>";
}
}
}
// Create deck with 2x8 cards
$deck = new Kaart(8);
$deck->getCard();
Kaart类
{
私有$deck=null;
公共函数构造($count){
//使用2xid创建列表
$this->deck=array_merge(范围(1,$count),范围(1,$count));
//随机化甲板
洗牌($this->deck);
}
公共函数getCard()
{
//在随机dech上循环
foreach($this->将其作为$card组合){
回声“;
}
}
}
//使用2x8卡创建牌组
$deck=新卡亚特(8);
$deck->getCard();
您可以使用数组\u chunk
将同一id随机分配2次
$img = [];
for ($x = 1; $x <= 16; $x++) {
$img[] = $x;
}
$i=1;
foreach( array_chunk($img, 2, true) as $k => $array){
foreach($array as $val){
echo "<img src='img/card_back.jpg' data-id=".$i.">";
}
$i++;
}
$img=[];
对于($x=1;$x$array){
foreach($val形式的数组){
回声“;
}
$i++;
}
阅读关于创建包含所有id的数组的内容2次。将数组洗牌。您不应该有重复的id-也许可以改用数据id
?!