Jump to content

Archived

This topic is now archived and is closed to further replies.

Tjk

array unset bug

Recommended Posts

In the script below what I am trying to do is to create a counter whereby it takes a random variable from the arrays $stats adds it's value (taken from a mysql table and stored in a variable) to a string and then unsets the element so that on the next loop it will not show the value again. But when i try it, it displays more than one of the same element and i'm not sure why. I know it's a simple problem but could anyone point me in the right direction.


[code]
    $numElements = count($stats);
    $numElements += "1";
    $ss= "0";
    $stats= array("command", "power", "agility", "knowledge", "acumen", "charisma");
    
    for($i; $i < $numElements; $i++){    
      $dispstats= array_rand($stats);
      $disp= $stats[$dispstats];
      if($disp == "command"){
        $dispfriend= $dispfriend. "-Command: ".$sfcomm."-";
        unset($stats['command']);
        $ss++;  
      }
      else if($disp == "power"){
        $dispfriend= $dispfriend. "-Power: ".$sfpow."-";
        unset($stats['power']);
        $ss++;
      }
      else if($disp == "agility"){
        $dispfriend= $dispfriend. "-Agility: ".$sfagil."-";
        unset($stats['agility']);
        $ss++;
      }
      else if($disp == "knowledge"){
        $dispfriend= $dispfriend. "-Knowledge: ".$sfknow."-";
        unset($stats['knowledge']);
        $ss++;
      }
      else if($disp == "acumen"){
        $dispfriend= $dispfriend. "-Acumen: ".$sffacu."-";
        unset($stats['acumen']);
        $ss++;
      }
      else if($disp == "charisma"){
        $dispfriend= $dispfriend. "-Charisma: ".$sfchar."-";
        unset($stats['charisma']);
        $ss++;
      }
      if($ss == $statview){
        break;
      }    
    }
[/code]

Help appreciated as always
-Tjk

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.