größten wert eines arrays rausbekommen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

größten wert eines arrays rausbekommen

Beitrag 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
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag 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;
  }
}
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Ambience
Mitglied
Beiträge: 628
Registriert: 02.09.2006 11:28
Wohnort: daheim
Kontaktdaten:

Beitrag 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.
Antworten

Zurück zu „Coding & Technik“