Anzeige

array Problem

array Problem | PSD-Tutorials.de

Erstellt von rey, 23.12.2007.

  1. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    Problem mit dem auslesen eines Dimensionalen Arrays

    hi,
    ich habe mal wieder ein kleines Problem ;)
    und zwar möchte ich eien Auflistung alle gemachten Aktionen die ein Spieler gemacht hat nach einer bestimmten sache durchsuchen. Wenn diese auftaucht soll hinter dem Namen in rot "This Player Hacked in the Game :/"
    wenn es aber nicht bei dem Spieler auftaucht dann steht nichts dahinter das bedeutet der spieler hat nicht gecheatet.
    und die Aktionen Prüfung für jeden Spieler.

    ich habe es hinbekommen leider gibt es ein Problem mit der foreach schleife
    weil die foreach schleife in diese foreach($info->Players as $player) rein machen muss damit es die Spielernamen durch geht und nach der aktion prüft das Problem ist dann bloß das es so ausschaut
    PHP:
    1.  
    2. if($info->Teams !=false){
    3.   $i = 0;
    4.         $replay_team = array();
    5.         foreach($info->Teams as $team)
    6.  
    7.         {
    8.            $i ++;
    9.           $temp="";      
    10.    
    11.           foreach($info->Players as $player)
    12.           {    $action =    php_bw_get_actions("0340 SsP)fi SsP)cR SsP)bA H.rep", $player->Name, REPASM_ALL_ACTIONS, 1);
    13.                 foreach($action->Actions[0] as $aktion){
    14.        
    15.             if (in_array($player->Name,$team,$aktion))
    16.             {
    17. /*                 $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i>".$aktion->Name."<br>";*/
    18.                 if($aktion->Name=='Attack'){
    19.                      $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><font style='color:#ff0000'>What a shame the Player was a hacker :(</font><br>";
    20.         }else{
    21.          $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><br>";
    22.         }
    23.                
    24.                
    25.                            $replay_team[$i]=$temp;
    26.         $TeamA = $replay_team[0];
    27.         $TeamB = $replay_team[1];
    28.    
    29.             }
    30.            }
    31. }
    32.       }
    33.       }
    34.         echo $TeamB;
    35.  
     
    Zuletzt bearbeitet: 24.12.2007
    #1      
  2. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    Ist das return von php_bw_get_actions()ein array oder ein class?
     
    #2      
  3. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    #3      
  4. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    PHP:
    1. $action =    php_bw_get_actions("0340 SsP)fi SsP)cR SsP)bA H.rep", $player->Name, REPASM_ALL_ACTIONS, 1);
    2.                   foreach($action->Actions[0] as $aktion){
    Das Teil verstehe ich nicht ganz.
    Kannst du da mal print_r($action) einbauen? Und ergebniss poasten.
     
    #4      
  5. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    AW: array Problem

    das Ergebnis ist sehr lange ;)
     
    #5      
  6. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    PHP:
    1.  
    2. foreach($action as $actions)
    3. {
    4.  if(is_array($actions))
    5.  {
    6.   foreach($actions as $underaction)
    7.   {
    8.    foreach($underaction as $_under_stdClass)
    9.    {
    10.     if($_under_stdClass['Name'] == 'Attack')
    11.     {
    12.      ...
    13.     }
    14.    }
    15.   }
    16.  }
    17. }
    18.  
    19.  
    $action ist das Return von der Funktion.

    P.S.: Ausführungszeit wird aber enorm sein.
     
    #6      
  7. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    AW: array Problem

    in das if kommt dann das rein wo du .... gemacht hast?

    PHP:
    1. foreach($action as $actions)
    2. {
    3.  if(is_array($actions))
    4.  {
    5.   foreach($actions as $underaction)
    6.   {
    7.    foreach($underaction as $_under_stdClass)
    8.    {
    9.     if($_under_stdClass['Name'] == 'Attack')
    10.     {
    11. if($info->Teams !=false){
    12.   $i = 0;
    13.         $replay_team = array();
    14.         foreach($info->Teams as $team)
    15.  
    16.         {
    17.            $i ++;
    18.           $temp="";        
    19.    
    20.           foreach($info->Players as $player)
    21.           {      
    22.        
    23.             if (in_array($player->Name,$team))
    24.             {
    25.           $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><br>";
    26.                      $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><font style='color:#ff0000'>What a shame the Player was a hacker :(</font><br>";
    27.         }else{
    28.          $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><br>";
    29.         }
    30.                
    31.                
    32.                            $replay_team[$i]=$temp;
    33.         $TeamA = $replay_team[0];
    34.         $TeamB = $replay_team[1];
    35.    
    36.             }
    37.            }
    38. }
    39.       }
    40.       }
    41.           echo $TeamB;  
    42.  }
    43.    }
    44.   }
    45.  }
    46. }  
    richtig?

    P.S: wie gesgat er soll ja nur im ersten array nachgucken weil wenn e im ersten vorkommt ist es ein cheater wenn nicht dann ist es kein cheater. Wenn es bsp. im 300. array vorkommt muss es nicht gleich ein cheater sein.
     
    Zuletzt bearbeitet: 24.12.2007
    #7      
  8. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    nee.
    Statt ...
    PHP:
    1. $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><br>";
    2.                      $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><font style='color:#ff0000'>What a shame the Player was a hacker :(</font><br>";
    3.        
    Und dann noch dein else.

    Und was meinst du unter "erstes Array"?
    Das Return von der Funktion ist ein mehrdimensionales Array, da sind 4 Arrays in einander verschachtelt, welches ist das erste?
     
    #8      
  9. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    AW: array Problem

    mit das erste meien ich das hier

    was kommt dann in [.....] das hier in etwa
    PHP:
    1.                    $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><font style='color:#ff0000'>What a shame the Player was a hacker :(</font><br>";
    habe es nun so
    PHP:
    1.  
    2. if($info->Teams !=true)
    3. {
    4.              $i = 0;
    5.         $team = array();
    6.         foreach($info->Players as $player)
    7.         {
    8.          $action =    php_bw_get_actions("0340 SsP)fi SsP)cR SsP)bA H.rep", $player->Name, REPASM_ALL_ACTIONS, 1);
    9.                  
    10.        
    11.             if (in_array($player->Name,$team))
    12.             {
    13.  
    14.                 foreach($action->$Actions as $action)
    15. {
    16.  if(is_array($action))
    17.  {
    18.   foreach($action as $underaction)
    19.   {
    20.    foreach($underaction as $_under_stdClass)
    21.    {
    22.     if($_under_stdClass['Name'] == 'Attack')
    23.     {
    24.  if ($player->IsObserver !=1)
    25.           {
    26.              $i ++;
    27.              $replay_team[$i] = "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i>"."<br>";
    28.     }
    29.  
    30.  
    31.  
    32.  
    33.         }else{
    34.  
    35.              $replay_team[$i] = "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i>"."<br>";
    36.         }
    37.         }
    38.     $TeamAA = $replay_team[0];
    39.     $TeamBB = $replay_team[1];
    40.  
    41.            }
    42.       }   } echo $TeamBB;
    43. }
    44.  
    45. }
    46. if($info->Teams !=false){
    47.   $i = 0;
    48.         $replay_team = array();
    49.         foreach($info->Teams as $team)
    50.  
    51.         {
    52.            $i ++;
    53.           $temp="";        
    54.    
    55.           foreach($info->Players as $player)
    56.           {       $action =    php_bw_get_actions("0340 SsP)fi SsP)cR SsP)bA H.rep", $player->Name, REPASM_ALL_ACTIONS, 1);
    57.                  
    58.        
    59.             if (in_array($player->Name,$team))
    60.             {
    61. /*                 $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i>".$aktion->Name."<br>";*/
    62.                 foreach($action->$Actions as $action) //ZEILE 265
    63. {
    64.  if(is_array($action))
    65.  {
    66.   foreach($action as $underaction)
    67.   {
    68.    foreach($underaction as $_under_stdClass)
    69.    {
    70.     if($_under_stdClass['Name'] == 'Attack')
    71.     {
    72.                         $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><font style='color:#ff0000'>What a shame the Player was a hacker :(</font><br>";
    73.     }
    74.    }
    75.  
    76.  }
    77.  
    78.         }else{
    79.          $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><br>";
    80.         }
    81.                
    82.                
    83.                            $replay_team[$i]=$temp;
    84.         $TeamA = $replay_team[0];
    85.         $TeamB = $replay_team[1];
    86.    
    87.             }
    88.         }
    89. }
    90.       }}  
    91.       }
    92.           echo $TeamB;
    93.  
    Problem ist nur nun wird nichst angezeigt
     
    Zuletzt bearbeitet: 24.12.2007
    #9      
  10. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    PHP:
    1.  
    2. foreach($action as $actions)
    3. {
    4.  if(is_array($actions))
    5.  {
    6.   foreach($actions as $underaction)
    7.   {
    8.    foreach($underaction as $_under_stdClass)
    9.    {
    10.     if($_under_stdClass['Name'] == 'Attack')
    11.     {
    12.      $temp.= "DA DEIN TEXT";            
    13.      $temp.= "DA DEIN TEXT";
    14.     }
    15.     else
    16.     {
    17.          $temp.= "DEIN ELSE TEXT";
    18.      }
    19.      break;
    20.    }
    21.    break;
    22.   }
    23.  }
    24. }  
    25.  
    26.  
    27.  
     
    #10      
  11. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    AW: array Problem

    ändert sich nichts...
    PHP:
    1. if($info->Teams !=false){
    2.   $i = 0;
    3.         $replay_team = array();
    4.         foreach($info->Teams as $team)
    5.  
    6.         {
    7.            $i ++;
    8.           $temp="";        
    9.    
    10.           foreach($info->Players as $player)
    11.           {       $action =    php_bw_get_actions("0340 SsP)fi SsP)cR SsP)bA H.rep", $player->Name, REPASM_ALL_ACTIONS, 1);
    12. foreach($action->Actions[0] as $actions)
    13. {
    14.  if(is_array($actions))
    15.  {
    16.   foreach($actions as $underaction)
    17.   {
    18.    foreach($underaction as $_under_stdClass)
    19.    {
    20.     if($_under_stdClass['Name'] == 'Attack')
    21.     {
    22.                      $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><font style='color:#ff0000'>What a shame the Player was a hacker :(</font><br>";
    23.         }else{
    24.          $temp.= "<img src='img/".$player->RaceName.".png'> ".$player->Name."("."<font style='color:$player->ColorName'>".$player->ColorName."</font>".")"."<i>".$player->APM."APM</i><br>";
    25.          }
    26.      break;
    27.    }
    28.    break;
    29.   }
    30.  }
    31. }  
    32.                
    33.                
    34.                            $replay_team[$i]=$temp;
    35.         $TeamA = $replay_team[0];
    36.         $TeamB = $replay_team[1];
    37.    
    38.             }
    39.            }
    40. }
    41.  
    42.           echo $TeamB;  
    43.           ?>
    hier link
    http://coc.dvrdns.org/apache2-default/test/test3.php
     
    #11      
  12. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    Hmm...nimm zuerst alle breaks raus, dann schreib nach jedem foreach irgendein Text, um zu sehen, wo der script abbricht, und ob es überhaupt in foreach reinkommt.
     
    #12      
  13. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    AW: array Problem

    hab breaks nun drausen immer noch das selbe
     
    #13      
  14. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    PHP:
    1.  
    2. echo 'starte<br>';
    3. foreach($action as $actions)
    4. {
    5.  echo '1.<br>';
    6.  if(is_array($actions))
    7.  {
    8.   echo 'is_array => true <br>';
    9.   foreach($actions as $underaction)
    10.   {
    11.    echo '2.<br>';
    12.    foreach($underaction as $_under_stdClass)
    13.    {
    14.     echo '3.<br>';
    15.     if($_under_stdClass['Name'] == 'Attack')
    16.     {
    17.      $temp.= "DA DEIN TEXT";            
    18.      $temp.= "DA DEIN TEXT";
    19.     }
    20.     else
    21.     {
    22.          $temp.= "DEIN ELSE TEXT";
    23.      }
    24.      #break;
    25.   }
    26.    #break;
    27.  }
    28.  }
    29. }
    probier mal das.
     
    #14      
  15. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    AW: array Problem

    das kommt wenn ich den folgenden code verwnede
     
    #15      
  16. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    Ersetze
    PHP:
    1. $_under_stdClass['Name']
    durch
    PHP:
    1. $_under_stdClass->Name
     
    #16      
  17. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    AW: array Problem

    hm.. nun geht er komplett durch ;)

    http://coc.dvrdns.org/apache2-default/test/test3.php

    kann man es nicht so machen das er nur in das erste objekt geht?
    wie vorher beschrieben?
    also
    sobald er das attack im ersten gefunden hat dann ist klar das spieler = cheater.
     
    #17      
  18. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    Gitter-Zeichen vor den Breaks löschen ;-)
     
    #18      
  19. rey

    rey Der Frager ;)

    Dabei seit:
    26.06.2006
    Beiträge:
    836
    Geschlecht:
    männlich
    Software:
    3Ds Max, Maya
    Kameratyp:
    Canon 50D
    array Problem
    Zuletzt bearbeitet: 24.12.2007
    #19      
  20. gp812

    gp812 Newbster

    Dabei seit:
    23.12.2007
    Beiträge:
    278
    Geschlecht:
    männlich
    Ort:
    Stuttgart
    Software:
    CS3, EditPlus
    array Problem
    AW: array Problem

    Die Seite geht net auf.
    Also wenn es nur das erste Array untersucht werden muss, dann müssen beide breaks da rein. Wenn es nur die ersten Arrays in zweiten Dimension untersucht werden müssen, dann muss ein Break raus.
     
    #20      
x
×
×