array prüfen?

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

  • array prüfen?

    1. mit isset() prüfe ich, ob eine Variable vorhanden ist. Wie kann ich aber prüfen, ob zum Beispiel $Array[keyword] vorhanden ist? Und wie prüfe ich, ob ein Array selber vorhanden ist?

    2. muss ich, um herauszufinden, wie viele datenfelder ($array[datenfeld1]) in einem array vorhanden sind, obige methode in einer schleife anwenden oder gibt es da eine vordefinierte funktion?

  • #2
    1) isSet($array['key'])

    2) count($array)
    [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
    [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
    [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

    © Harald Schmidt

    Kommentar


    • #3
      mit dem ersten teil der antwort habe ich noch ein problem :/

      PHP-Code:
      <?php
      $keyword
      [test1] = "true";
      if (isset(
      $dsfghjfghdghd)) {
      print 
      "true";
      }
      else {
      print 
      "false";
      }
      ?>
      obwohl '$dsfghjfghdghd' nirgends definiert ist, kommt immer 'true'!

      Kommentar


      • #4
        isset() prüft nur ob die var. oder das array existiert, nicht ob es leer ist ect.

        willst du prüfen, ob die $var net leer ist, musst halt so machen:

        PHP-Code:
        if (isset($dsfghjfghdghd) && $dsfghjfghdghd != "") { } 

        Kommentar


        • #5
          Original geschrieben von panta
          obwohl '$dsfghjfghdghd' nirgends definiert ist, kommt immer 'true'!
          Dann hast du $dsfghjfghdghd eben doch irgendwo deklariert.
          [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
          [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
          [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

          © Harald Schmidt

          Kommentar


          • #6
            kann dir garantieren, dass das nicht der fall ist. die datei test2.php enthält genau den inhalt, der oben steht....

            Kommentar


            • #7
              wenn ich prüfe, ob das array leer ist, funktioniert die ganze sache.

              jetzt ergibt sich aber auch schon wieder ein anderes problem, ich will herausfinden, wie viele arrays definiert sind.

              PHP-Code:
              while ($break==FALSE) {
                  if (isset(
              $KeyGruppe.$i) && $KeyGruppe.$i !="") {
                      
              $groups++;
                      print 
              "KeyGruppe".$i" vorhanden<br>";
                  }
                  else {
                      
              $break=TRUE;
                  }
                  
              $i++;

              Die Arrays sind vorlaufend benannt nach $Keyword1, $Keyword2, $Keyword3, usw.
              Wie schaffe ich es, isset() den richtigen Wert zu übergeben, der jedoch davor dynamisch erzeugt werden muss?

              (bei obigem Code mag er den Verkettungsoperanten nicht)

              Kommentar


              • #8
                argh...

                Kommentar


                • #9
                  Wenn ich dein Problem richtig verstanden habe, kannst du es doch auch so machen:

                  in_array() example:

                  PHP-Code:
                  $os = array ("Mac""NT""Irix""Linux");
                  if (
                  in_array ("Irix"$os)) {
                      print 
                  "Got Irix";
                  }
                  if (
                  in_array ("mac"$os)) {
                      print 
                  "Got mac";

                  Kommentar


                  • #10
                    nein, eben genau das funktioniert nicht.

                    ich generiere den arraynamen dynamisch $i enthält die nummer des schleifendurchlaufes, daraus ergibt sich
                    $arrayname = $KeyGruppe.$i

                    aber auch das funktioniert nicht, $arrayname enthält dann nur $i, also einen integer, z.B. 6, 7, 8, usw.
                    eigentlich sollte aber der arrayname $KeyGruppe6, $KeyGruppe7, $KeyGruppe8 heißen...

                    Kommentar


                    • #11
                      *push*

                      (hilfe, ich komm nicht mehr weiter...!)

                      Kommentar


                      • #12

                        Kommentar


                        • #13
                          kapier ich net.

                          Mach mal nen neuen Threat auf, wo du ganz von vorne anfängst.

                          Kommentar


                          • #14
                            PHP-Code:
                            <?
                            $Keyword1 = "hallo1";
                            $Keyword2 = "hallo2";
                            $Keyword3 = "";

                            $anz = 10; // Anzahl Variablen
                            $varname = "Keyword";
                            for ($i=1; $i<$anz; $i++) {
                               $var =  $varname . $i;    
                               print "Ich prüfe jetzt die Variable $$var\n";
                               if (isset(${$var}) && ${$var} !="") {
                                  print "BINGO $$var ist vorhanden und ist gesetzt<br>";
                               } else {
                                  print "$$var gibt es nicht oder ist leer<br>";
                               }
                               print "<hr>";
                            }
                            ?>

                            Kommentar


                            • #15
                              @hand vielen dank, aber das hätte ich auch selber gekonnt
                              so in etwa sieht meines auch aus, nur dass ich arrays verwende und durch die schleife herausfinden will, wie viele arrays vorhanden sind! und dabei ist das problem, dass ich mir ersteinmal den arraynamen generieren muss. beispiel: array lautet $keyword5, dann habe ich den wert 'keyword', aber '5' muss noch dynamisch hinten drangehängt werden (schleifendurchlauf)

                              ich mach mal 'nen neuen thread auf

                              Kommentar

                              Lädt...
                              X