Ankündigung

Einklappen
Keine Ankündigung bisher.

Viele Variablen initialisieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Viele Variablen initialisieren

    Hallo, ich hab schon hier im Forum gesucht, aber es kommen einfach zuviele uneindeutige Treffer. Also Sorry, wenn die Frage schonmal gestellt wurde:

    Ich möchte in einem recht umfangreichen PHP-Script mehrere Variablen starten, aber vorher abfragen, ob sie schon gesetzt wurden.

    Momentan schaut das so aus:

    if (!isset($str_chk_sort)) {$str_chk_sort="";}
    if (!isset($subwant)) {$subwant="";}
    if (!isset($order_by)) {$order_by="";}
    if (!isset($want_top)) {$want_top="";}
    if (!isset($new_size_v)) {$new_size_v="";}
    ... usw...

    Gibt es eine Möglichkeit, das in einem Array abzuarbeiten?
    Ich würde gerne die Variablen sichtbar in ein Array schreiben, z.B.:
    array($str_chk_sort,$subwant,$order_by,$undsoweite r)
    und dann in einer Schleife per !isset weiterprüfen, damit nicht tausende Zeilen Code entstehen.

    Wäre echt dankbar für jegliche Hilfe!

    Viele Grüße
    Uwe


  • #2
    Über Variable Variablen ginge das.

    PHP-Code:
    <?php
    $varnames 
    = array("subwant","order_by",...);
    foreach (
    $varnames as $varname)
      if (!isset($
    $varname)...
    ?>
    Allerdings halte ich die Notwendingkeit solcher Masseninitialisierungen für ein Symptom eines groben Designfehlers.
    Eine Variable sollte da initialisiert werden, wo sie herkommt.
    mod = master of disaster

    Kommentar


    • #3
      Dann ist es auch nicht unbedingt ein Designfehler.
      Diese Variablen kommen aus der URL und wurden per Schleife ausgelesen (damit auch global_registered kein Problem darstellt).

      Wenn ich mal extrem unter Langeweile leide, werde ich sicher auch das lösen, aber auch dann bräuchte ich so ein Array, um sicherzustellen, daß ich nur Variablen übernehme, die ich selbst in das Array geschrieben hab (und keine anderen Variablen von aussen manipuliert werden).

      Bei 207 KB Quelltext verzeiht man mir hoffentlich einige Designlöcher

      Wenn ich alles neu programmieren würde, käme ich vielleicht noch auf 70 kb, aber das wären locker 3 Monate Arbeit.

      Aber Danke auf jeden Fall für Deine Hilfe!

      Kommentar

      Lädt...
      X