0

randfrom phpを使用しています。以下のスクリプトは完璧に機能していますが、私の質問は、配列内の1つの値を優先することです(複数回表示)。たとえば、100回ランダムに値を表示し、0〜99回をエコーし dofollow​​、1回nofollowを使用して表示することは可能ですかrand

<?php
$input_nofollow = array("nofollow", "dofollow");
        $random = rand(0, 1);
        echo $input_nofollow[$random];
?>

どんな提案も素晴らしいでしょう。

4

3 に答える 3

3
$random = rand(0, 100);
$selected_key = 0;
if($random < 90) $selected_key = 1;
else $selected_key = 0;

echo $input_nofollow[$selected_key];

これにより、インデックス 1 を取得する可能性が最大 90% になります。

于 2013-07-17T13:12:00.523 に答える
1

乱数発生器ではなく、shuffleを探しているようです。99 個の "a" と 1 個の "b" を持つ配列を作成し、shuffleそれを順番に出力します。

または、1 から 100 の間の乱数を生成し、カウンターを使用してループし、カウンターが乱数出力 "b" と等しい場合は "b"、そうでない場合は "a" を出力します。

于 2013-07-17T13:13:35.280 に答える
1

このようなことを試してください:

<?php
    $input_nofollow = array("nofollow", "dofollow");

    $random = rand(0, 100);
    $i = 0;
    while (1 /* Your Condition */ )
        if (++$i > 100) {
            $i = 0;
            $random = rand(0, 100);
        }

        if ($i == $random)
            echo $input_nofollow[0];
        else
            echo $input_nofollow[1];
    }
?>
于 2013-07-17T13:25:27.577 に答える