constructing a recursive function returning an array
        Posted  
        
            by 
                Admiral Kunkka
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Admiral Kunkka
        
        
        
        Published on 2012-10-18T22:10:45Z
        Indexed on 
            2012/10/18
            23:01 UTC
        
        
        Read the original article
        Hit count: 314
        
I'm developing a function that has a random chance to loop through itself and put it's results in one array for me to use later in my PHP class. Is there a better way to do this more organized, specifically case 5. The array becomes sloppy if it rolls 5, after 5, after 5 looking unpleasant.
private function dice($sides) { return mt_rand(1, $sides); }
private function randomLoot($dice) {
    switch($dice) {
        case 1: $array[] = "A fancy mug."; break;
        case 2: $array[] = "A buckler."; break;
        case 3: $array[] = "A sword."; break;
        case 4: $array[] = "A jewel."; break;
        case 5:
            $array[] = "A treasure chest with contents:";
            $count = $this->dice(3);
            $i = 1;
            while($i <= $count) {
                $array[] = $this->randomLoot($this->dice(5));
                $i++;
            }
        break;
    }
    return $array;
}
© Stack Overflow or respective owner