Array überprüfen

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

  • Array überprüfen

    Hallo allerseits,

    ich hab folgendes Problem.
    Ich habe eine Funktion pruef() die Formulardaten auf korrektheit prüft. Diese Funktion gibt anschließend einen array $fehler zurück, der alle Fehlerstrings enthält. Wenn keine Fehler aufgetreten sind ist diese Variable folglich leer.

    Wie kann ich im Hauptprogramm nun prüfen ob dieser Array leer ist oder Fehlerstrings enthält.
    Wenn dieser Array nähmlich Fehler enthält, soll eine andere Funktion aufgerufen werden die diese Fehler
    ausgibt.

    if (empty(pruef())){

    echo "Fehlerarray ist leer";
    }
    else{echo "Es sind Fehler aufgetreten";
    }

    Wenn ich es so mache schmeisst er ne Fehlermeldung raus:
    Fatal error: Can't use function return value in write context in

  • #2
    wie sieht der Ausgang der Funktion pruef() aus?

    btw: wenn du schon Fehlermeldung postest, dann bitte auch komplett, wenn du geholfen werden möchtest.

    Kommentar


    • #3
      Hi,

      So sieht mein Problem vereinfacht aus.

      <html>
      <head></head>
      <body>
      <?php

      function pruef()
      {


      $fehler[0]="Fehler 0l";
      $fehler[1]="Fehler 1";
      $fehler[2]="Fehler 2";
      $fehler[3]="Fehler 3";
      $fehler[4]="Fehler 4";
      $fehler[5]="Fehler 5";

      return $fehler;

      }



      function ausgabe($fehler)
      {

      echo "Hallo";
      echo $fehler[0];
      echo $fehler[1];
      echo $fehler[2];


      }


      if (isset(pruef())){

      echo " Der Array existiert";

      }
      </body>
      </html>


      Zur Fehlermeldung: Die war komplett . Hinten dran kommt nur noch
      der Pfad zu meiner Datei

      Kommentar


      • #4
        also du musst erst mal die funktion pruef aufrufen und dann kannst du überprüfen, ob das array $fehler existiert. mal ganz abgesehen davon, dass du in der funktion ausgabe keinen zugriff auf das array $fehler hast, da dies nur in der funktion pruef zur verfügung steht. such mal bei google zum thema geltungsbereiche von variablen.

        gruss
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          hi

          werd ich machen. Danke nochmals

          Gruss

          Kommentar


          • #6
            Original geschrieben von Kropff
            also du musst erst mal die funktion pruef aufrufen und dann kannst du überprüfen, ob das array $fehler existiert. mal ganz abgesehen davon, dass du in der funktion ausgabe keinen zugriff auf das array $fehler hast, da dies nur in der funktion pruef zur verfügung steht. such mal bei google zum thema geltungsbereiche von variablen.

            gruss
            peter
            erzähl keinen Quatsch . Die Var heissen zwar $fehler, haben aber nicht wirklich miteinander zu tun, denn für die Fkt. ausgabe ist $fehler sein Parameter, da kann ausgabe voll darauf zugreifen!
            Schau:

            $fehler = array(); // global <> $fehler in pruef() <> $fehler in ausgabe
            $fehler = pruef();
            ausgabe($fehler);

            => output: HalloFehler 0lFehler 1Fehler 2

            @Günther: ich weiss zwar nicht was das Ganze soll, aber IMHO kannst du isset nicht auf eine Fkt. anwenden. Was du machen kannst, ist z.B.

            $fehler = array();
            $fehler = pruef();
            if (count($fehler)>0) echo "Der Array ist nicht leer";

            Kommentar


            • #7
              erzähl keinen Quatsch
              hab mich da wohl ein bißchen blöde ausgedrückt, ich meinte das in diesem zusammenhang.

              PHP-Code:
              function pruef()
              {
                 
              $fehler[0]="Fehler 0l";
                 
              $fehler[1]="Fehler 1";
                 
              $fehler[2]="Fehler 2";
                 
              $fehler[3]="Fehler 3";
                 
              $fehler[4]="Fehler 4";
                 
              $fehler[5]="Fehler 5";
                 return 
              $fehler;
              }

              function 
              ausgabe($fehler)
              {
                 
              pruef();
                 echo 
              "Hallo";
                 echo 
              $fehler[0];
                 echo 
              $fehler[1];
                 echo 
              $fehler[2];
              }

              ausgabe($fehler); 
              ansonsten hast du natürlich recht.

              gruss
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar

              Lädt...
              X