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

PHP生成foreach并将其生成为数组,php,arrays,random,foreach,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) 谢谢您需要通过循环每次添加到数组中,而不是替

请帮助我根据此案例创建一些随机数组:

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)

谢谢

您需要通过循环每次添加到数组中,而不是替换它,然后在循环后使用
array\u rand()

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

您正在创建一个单元素数组(
$lala2
)并在每次迭代中“随机化”它,这就是为什么要打印所有3个元素

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

<?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

看起来和我刚才输入的一模一样。比我快;)