如何从两个随机数组获得相同数量的项目?

时间:2017-12-09 13:15:01

标签: php arrays

这个问题可能听起来有点奇怪,但我会试着解释一下我想要实现的目标。 我有两个数组:

$combined_alt_blur = array($bg['pic_blur'], $bg['pic_blur2'], $bg['pic_blur3'], $bg['pic_blur4'], $bg['pic_blur5']);
$combined_alt_normal = array($bg['pic_normal'], $bg['pic_normal2'], $bg['pic_normal3'], $bg['pic_normal4'], $bg['pic_normal5']);

然后我在网站上显示它们:

<div class="fullscreen_blur" style="background-image: url('/medias/<?php print $combined_alt_blur[array_rand($combined_alt_blur)]; ?>.jpg');"></div>
<div class="fullscreen"  style="background-image: url('/medias/<?php print $combined_alt_normal[array_rand($combined_alt_normal)]; ?>.png');"></div>

但这个问题存在很大问题。如果来自第一个数组的随机选择第3个项目(pic_blur3),那么它也必须从第二个数组中选择第3个项目(pic_normal3)。我怎样才能做到这一点?

使用当前代码,它只是两个单独的随机数组。

2 个答案:

答案 0 :(得分:3)

如果两个数组的单元格大小相同,您可以这样做:

$index = array_rand($combined_alt_blur);
print $combined_alt_blur[$index];
print $combined_alt_normal[$index];

否则您可以指定默认值:

print isset($combined_alt_normal[$index]) ? $combined_alt_normal[$index] : "default";

答案 1 :(得分:1)

创建一个随机数并将其用作

的索引
$index = rand(0, count($combined_alt_blur) - 1);
$combined_alt_normal[$index];