我有一个显示数组随机横幅的函数:
//func.php
function rand_rek($rek_array){
$numberOfBanners = count($rek_array);
$numberOfBanners = $numberOfBanners - 1;
$randomBanner = rand(0,$numberOfBanners);
$rek = $rek_array[$randomBanner];
return $rek;
}
我有$reklamas
数组,其中包含3个横幅:
//ads.php
$reklamas = array($rek1, $rek2, $rek3);
如果$ _GET [“noa”]不正确,我想在$ reklamas数组中添加更多横幅:
if (!isset($_GET["noa"]))
array_push($reklamas, $rek_adc1, $rek_adc2, $rek_adc3, $rek_adc4);
我想展示一个随机横幅x次:
for ($i=0;$i<$banneri;$i++) {
echo rand_rek($reklamas);
}
问题:
这些可以根据需要重复多次array($rek1, $rek2, $rek3);
,
而这些array_push($reklamas, $rek_adc1, $rek_adc2, $rek_adc3, $rek_adc4);
每个只能展示一次。
函数rand_rek()位于func.php中,它包含在ads.php中,其余代码也包含在内。
答案 0 :(得分:0)
我认为你可能会把问题全部弄错,但无论如何解决方案都可能
function rand_rek($rek_array){
$numberOfBanners = count($rek_array);
$numberOfBanners = $numberOfBanners - 1;
$randomBanner = rand(0,$numberOfBanners);
$rek = $rek_array[$randomBanner];
return [$randomBanner, $rek];
}
list($bannerNum, $banner) = rand_rek($reklamas);
if ($bannerNum < 3) {
$repeats = $x;
} else {
$repeats = 1;
}
for ($i=0;$i<$repeats;$i++) {
echo $banner;
}
检索横幅的索引并在运行循环之前检查它。我还使用了您在文本中提及但未在代码中提及的值$x
。