我怎么能建立一个有限数量的可能性PHP数组


How can i build a PHP array with a limited number of possibilities

我试图构建一段代码,打印5次行,只有两种可能的结果。我还希望其中一个结果只可能出现两次。

  <?php
    function abe( $number ) {
    $shoot = Array("alpha", "bravo");
 ?>
        <h1> Hello <?php echo $number; ?> You are on team <?php echo $shoot[array_rand($shoot)]; ?> </h1>
        <?php
            }
        ?>
        <?php abe( '1'); ?>
        <?php abe( '2'); ?>
        <?php abe( '3'); ?>
        <?php abe( '4'); ?>
        <?php abe( '5'); ?>

所以理想情况下我希望它只打印五次。我还希望"Bravo"最多打印2次。我怎样才能让b只允许两个实例呢?

So this may print....
Hello 1 You are on team alpha
Hello 2 You are on team alpha
Hello 3 You are on team alpha
Hello 4 You are on team alpha
Hello 5 You are on team alpha

有可能Bravo甚至不会打印一次。我怎么能确定它会打印2次?

未经测试,但这应该是动态的,以处理任何数量的玩家:

<?php
function abe( $number ) {
    // Input: Array Input of numbers or Names
    // Output: Team selection for each member of array Alpha||Bravo, where there can only be 2 Bravo
    $b = 0;
    $r = "";
    foreach($number as $n){
        $p = rand(0,1);
        if($p == 1){
            $b++;
        }
        if($b > 2){ $p = 0; }
        $r .= "<h1 pick='$p'>Hello $n You are on team " . (!$p?"Alpha":"Bravo") . " </h1>'r'n";
    }
    return $r;
}
echo abe(array(1,2,3,4,5));
?>

编辑

根据你的评论,这里是另一个版本,将迫使布拉沃2次:

<?php
function abe( $number ) {
    // Input: Array Input of numbers or Names
    // Output: Team selection for each member of array Alpha||Bravo, where there can only be 2 Bravo
    $b = 0;
    $c = count($number);
    $r1 = rand(1,$c);
    $r2 = rand(1,$c);
    if($r1 == $r2){
        $r2++;
        if($r2 > $c){
            $r2 -= 2;
        }
    }
    $r = "";
    foreach($number as $k => $n){
        if($k == $r1 || $k == $r2){
            $r .= "<h1 pick='$k'>Hello $n You are on team Bravo</h1>'r'n";
        } else {
            $r .= "<h1 pick='$k'>Hello $n You are on team Alpha</h1>'r'n";
        }
    }
    return $r;
}
echo abe(array(1,2,3,4,5));
?>