Seite 1 von 1

größten wert eines arrays rausbekommen

Verfasst: 13.01.2007 17:08
von Ambience
Hallo, ich bastel für meinen Freund ein Automatisiertes Script, welches immer wieder einen neuen Ts Server erstell sobald sich einer per formular registriert hat..


nun hänge ich ein wenig... er will das immer der letzte port erhöht wird...

Code: Alles auswählen

Array ( [0] => [TS] [1] => OK [2] => 8767 [3] => 8000 [4] => 9000 [5] => OK [6] => 8767 ) 
das bekomme ich zurück von meiner abfrage... und jetzt brauch ich den höchsten wert, also in dem fall die 9000 damit ich diesem um 1 erhöhen kann..

Vielen Dank

Verfasst: 13.01.2007 17:52
von S2B
Entweder du versuchst es mal mit [php:max] oder du machst es manuell:

Code: Alles auswählen

$max_port = 0;
foreach ($array as $value)
{
  if (is_numeric($value) && $value > $max_port)
  {
    $max_port = $value;
  }
}

Verfasst: 13.01.2007 18:06
von Ambience
hii, scheint nicht zu klappen, es wird 0 ausgegeben...

Code: Alles auswählen

<?php
$superadmin = "****";		// Benutzername des Superadmins
$superpw = "****";		// Passwort des Superadmins
$fp = fsockopen("****",51234);
      $results[] = fgets($fp,2084);
      $commands[] = fputs($fp,"slogin *** ***1\r\n");
      $results[] = fgets($fp,2084);
      for ($i = 0; $i < 150; $i++)
      {
        $commands[] = fputs($fp,"sl\r\n");
        $results[] = fgets($fp,2084);
      }
      
      
      $max_port = 0; 
foreach ($results as $value) 
{ 
  if (is_numeric($value) && $value > $max_port) 
  { 
    $max_port = $value; 
  } 
}

echo $max_port;
?>
das ist mein gesammtes script..

hab das ganze jetzt so geändert:

Code: Alles auswählen

for ($i = 0; $i < 150; $i++)
      {
        
          $commands[] = fputs($fp,"sl\r\n");
          $ports[] = fgets($fp,2084);
      }
      
      foreach ($ports as $port)
      {
        $port = trim($port);
        
        if ($port == 'OK')
        {
          break;
        }
        else
        {
          $p[] = $port;
        }
      }
  
print_r($p);
und es worked very fine.