PHP产生的foreach和产生它作为阵列
问题描述:
请帮助我需要创造一些阵列从这个案例随机:PHP产生的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)
谢谢
答
你正在一个一个元素的数组($lala2
)和“随机”它。
你需要做的是在每次迭代添加新元素,然后才用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
答
您需要每次通过循环添加到阵列,而不是替换它,然后在循环后使用array_rand()
。在每次迭代,这就是为什么你得到所有3个元素打印出来
$lala2 = array();
foreach (range(1, 3) as $number) {
$lala1 = "\"$img$number\",";
$lala2[] = $lala1;
}
echo $lala2[array_rand($lala2)];
这看起来完全像什么我正在打字。打败我吧;) – IncredibleHat