我正在使用我网站的广告系统并遇到问题。
<?php
function bdads($size, $company) {
if($company == 'nufa') {
if ($size == '300'){
echo 'n300';
}
if ($size == '160'){
echo 'n160';
}
if ($size == '728'){
echo 'n728';
}
if ($size == '700'){
echo 'n700';
}
}
if($company == 'gnr') {
if ($size == '300'){
echo 'g300';
}
if ($size == '160'){
echo 'g160';
}
if ($size == '728'){
echo 'g728';
}
if ($size == '700'){
echo 'g700';
}
}
}
function bdad($size, $company){
$zsize = $size;
if($company == 'nufa'){
echo bdads($zsize, 'nufa');
}
if($company == 'gnr'){
echo bdads($zsize, 'gnr');
}
if($company == 'both'){
$RandomList = [ bdads($zsize, 'gnr'), bdads($zsize, 'nufa')];
echo $RandomList[mt_rand(0, count($RandomList) - 1)];
}
}
?>
现在,一切似乎都很好......例如,
<?php echo bdad(728, 'gnr'); ?>
返回 g728 (按预期方式)
<?php echo bdad(300, 'nufa'); ?>
返回 n300 (按预期方式)
但所有麻烦都在于产生随机内容。
<?php echo bdad(300, 'both'); ?>
返回 g300n300 我想让它随机选择g300或n300。
编辑:
$a
更改为$RandomList
,但结果仍然相同答案 0 :(得分:3)
我试图简化你的功能:
您必须return您的值,否则您的函数默认会返回NULL。另外,您可以访问string like an array,因此我使用$company[0]
来获取公司的第一个字母,然后您可以concatenate查看其大小。
<?php
function bdads($size, $company) {
return $company[0] . $size;
}
function bdad($size, $company){
if($company == "both") {
$RandomList = [bdads($size, "gnr"), bdads($size, "nufa")];
return $RandomList[mt_rand(0, count($RandomList) - 1)];
} else {
return dads($size, $company);
}
}
echo bdad(300, "both");
?>
输出:
n300 //Or g300