Moin!
Bei if ($gibtsnet > 2) {...} wird mir lediglich "Notice: Undefined variable/index" mitgeteilt,
Besser wäre zu prüfen, ob es das gibt und wenn diese Bedingung erfüllte wird weiter zu prüfen:
if (isset($gibtsnet) && ($gibtsnet > 2)) {
...
}
das ersetzt:
if (isset($gibtsnet)) {
if ($gibtsnet > 2) {
...
}
}
aber bei foreach beispielsweise ist's ja ein bisschen was anderes, also bei foreach ($gibtsnet as ...){...} bekommt man eine Warnung: "Warning: Invalid argument supplied for foreach()".
(Aus welchen Gründen)
Die Funktion erwartet ein Array und eine Variable. Die Warnstufe ist dehalb höher, als bei if $gibtsnet, weil das mit NULL oder als zahl 0 angenommen werden kann, auch wenn das unsauber ist.
Sollte ich foreach mit if (isset($gibtsnet)) {...} umschließen?
Siehe oben.
Oder gar auch bei if?
Siehe oben.
Alternative:
if (!isset($gibtsnet)) {
# wenn nicht übergeben: mit default-Wert anlegen.
$gibtsnet=0;
}
if (isset($arGibtsNet)) {
# wenn nicht übergeben: als leeren-Array anlegen.
$arGibtsNet=array();
}
Was bedeutet zum Beispiel: if (!$bsp) {} ? Ist das nur für Vars des Typs Boolean gedacht, also als Kurzform von if ($bsp == true) oder vielleicht als Kurzform von !isset($bsp)?
Ersteres, wenn es richtig wäre:
if (!$bsp) {
# Wenn $bsp leer (NULL), falsch (false) oder 0 (Zahl 0) ist
# Wenn $bsp leer (NULL), nicht wahr (true) oder 0 (Zahl 0) ist
...
}
Eine Bitte: Si einfache Sachverhalte wie den letzten findet man sehr schnell selbst durch einen Dreizeiler heraus. Nutze diese Möglichkeit, das geht schneller.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development