PHP生成foreach并将其生成为数组

时间:2017-10-13 18:22:49

标签: php arrays random foreach

请帮助我需要从这个案例中随机创建一些数组:

foreach (range(1,3) as $number) { 
$lala1= "\"img$number\",";
$lala2 = array("$lala1");
echo $lala2[array_rand($lala2)];
}

给我这个结果:

"img1","img2","img3",

但是我需要结果随机显示:

img1 (with random img1,img2, or img3)

谢谢

2 个答案:

答案 0 :(得分:3)

你正在制作一个单元素数组($lala2)和"随机化"它在每次迭代时,这就是为什么你打印出所有3个元素。

您需要做的是在每次迭代时添加一个新元素,然后使用array_rand()从结果数组中选择一个随机元素:

<?php
$imgs = []; // define the array where you'll store the elements
foreach (range(1,3) as $number) { 
    $lala1 = "\"img$number\",";
    $imgs[] = $lala1; // add the new element to the array
}
echo $imgs[array_rand($imgs)]; // pick a random value

Demo

答案 1 :(得分:1)

您需要每次通过循环添加到数组,而不是替换它,然后在循环后使用mask.sum()

array_rand()