Felix Riesterer: schnellere Varaiante für if elseif else ?

Beitrag lesen

Lieber raico,

mein Vorschlag:

Schreib alle diese Fehlermeldungen in ein Array und prüfe mit in_array, ob der Fehler dort vorkommt.

Anstatt

if (ereg("WARNUNG",$buffer){

/* mach $buffer orange */

} elseif (eregi("SCSI",$buffer) || eregi("is not recognized",$buffer) || eregi("null or not set",$buffer) [...]

schreibst Du  
  
~~~php
if (in_array($buffer, $GLOBALS['fehlermeldungen'])) {  
    /* $buffer orange machen */  
} else {  
    /* mach $buffer rot */  
}

Meine Idee war nun, rein der Übersicht, die Fehler einfach in eine extra Datei zu schreiben

Das kannst Du auch machen. Dann solltest Du aber besser ein superglobales Array benutzen, damit diese Fehlermeldungen immer überall verfügbar sind.

z.B.

$fehlermeldung[]="SCSI";
$fehlermeldung[]="is not recognized";

  
[...]  
  
Warum nicht so?  
  
~~~php
$GLOBALS['fehlermeldungen'] = array(  
    "SCSI",  
    "is not recognized",  
    "null or not set",  
    "abnormally",  
    "Bad file number",  
...  
);

Ich weiß jetzt natürlich nicht, was genau in $buffer steht...

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)