0

我知道如何编写旋转器,但我怎样才能制作一个跳过传递空 $stuff_link 变量的旋转器?

我有 4 个链接变量,如下所示,但有时它们是空白的。所以我需要做的是使用旋转器在 4 个变量之间旋转,但如果说 $stuff_link 是空白跳过它。

$stuff_link
$stuff_link2 
$stuff_link3
$stuff_link4

下面的代码是我将它放在里面的地方。

if(percentChance(35) && $stuff_status == 1)
{

    rotator goes here       
}

下面是 percentChance 的函数

function percentChance($chance){
// Notice we go from 0-99 - therefore a 100% $chance is always larger
$randPercent = mt_rand(0,99);
 return $chance > $randPercent;
}
4

2 回答 2

0

根据我从问题中可以理解的情况,您需要一个类似于以下的功能:

function isEmpty($link) {
    return ($link == NULL || $link == "");            
}

if (!isEmpty($stuff_link))
{
    // Only enters if not empty
}
于 2013-01-23T02:26:56.197 回答
0

您使用 4 个变量和最后一个没有数字的变量让事情变得有点有趣。如果您必须按原样使用它们,则可以这样做:

$stuffs = array('', '2', '3', '4'); // Array of possible variable endings
$random = array_rand($stuffs); // Pick one
$selected = $stuffs[$random]; // Get the ending

// Check if the variable is empty, if not pick another
while (empty(${'stuff_link'.$selected})) {
    $random = array_rand($stuffs);
    $selected = $stuffs[$random];
}

// Output
echo ${'stuff_link'.$selected};

如果您可以将变量移动到数组中,那么生活会变得更轻松:

// Example array
$stuff_link = array();
$stuff_link[] = 'stuff 1';
$stuff_link[]  = '';
$stuff_link[] = 'stuff 3';
$stuff_link[] = 'stuff 4';

shuffle($stuff_link); // mix them up

// Keep shuffling until the first value is not empty
while (empty($stuff_link[0])) {
    shuffle($stuff_link);
}

// Output
echo $stuff_link[0];
于 2013-01-23T03:52:42.637 回答