Ankündigung

Einklappen
Keine Ankündigung bisher.

Array

Einklappen

Neue Werbung 2019

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

  • Array

    Hallo,

    ich möchte aus einem Array die ersten beiden Zeichen auslesen und in der Variable $tag speichern. Für jedes Array soll sich auch die Variable Tag erhöhen, damit ich die Daten nachher mit $tag[0], $tag[1] ... oder auch mit $tag1, $tag2, etc. aufrufen kann. Wie genau ist eigentlich egal.

    Ich habe es so versucht:

    PHP-Code:
    $nummer '0';

        foreach (
    $array as $zwischenvariable
        {
           
    $tag["$nummer"] = substr($zwischenvariable02);
               
    $nummer $nummer 1;
        } 
    Aber das klappt leider nicht ....

  • #2
    Es ist erstaunlich, wieviel Blödsinn man in 4 Programmzeilen reinbekommt.
    PHP-Code:
    <?
      $tag = array();
      
      foreach ($array as $zwischenvariable)
         $tag[] = substr($zwischenvariable, 0, 2);
    ?>
    Jogibär

    Kommentar


    • #3
      Zitat von Jogibär
      Es ist erstaunlich, wieviel Blödsinn man in 4 Programmzeilen reinbekommt.
      Vielen Dank, Mister Perfekt, stolzes Mitglied der (überaus) freundschaftlichen Community!

      Schade, dass auch das nicht klappt.

      Kommentar


      • #4
        Was issn in $array drin? Prüf ma mit var_dump!

        Kommentar


        • #5
          Hi!

          Das stht drin:

          array(3) {
          [0]=> string(16) "03.04.07 München"
          [1]=> string(15) " 04.04.07 Köln"
          [2]=> string(17) " 07.04.07 Berlin"
          }

          Kommentar


          • #6
            Wenn dem so ist, funktioniert Jogis Script tadellos ^^

            Kommentar


            • #7
              Denkbar wäre das zum Beispiel, weil Zahlen keine führenden Nullen besitzen

              Kommentar


              • #8
                Zitat von Cineplex
                Warum schreibst du eine Zahl in einen String?
                Es ist ein Datum, dem eine Veranstaltung folgt...

                Naja, das Script funktioniert bei mir aber nicht. Beim Aufruf von $tag[1] z.B: wird einfach nichts ausgegeben.

                Kommentar


                • #9
                  PHP-Code:
                  $array = array("03.04.07 München","04.04.07 Köln","07.04.07 Berlin");
                  $tag = array();
                    
                  foreach (
                  $array as $zwischenvariable)
                      
                  $tag[] = substr($zwischenvariable02);
                      
                  var_dump($tag); 
                  Ausgabe
                  Code:
                  array(3) {
                    [0]=>
                    string(2) "03"
                    [1]=>
                    string(2) "04"
                    [2]=>
                    string(2) "07"
                  }
                  Also irgendwas verheimlichst du doch So, wie es da steht, gibt es keinen Grund, warum es nicht funktioniert. Fragen wir doch mal direkt nach:
                  1. Bist du dir sicher, dass $array in der Form direkt vor der Schleife vorliegt?
                  2. Wie sieht denn dein "Aufruf" von $tag[1] aus?

                  Kommentar


                  • #10
                    Zitat von KingCrunch
                    Also irgendwas verheimlichst du doch So, wie es da steht, gibt es keinen Grund, warum es nicht funktioniert. Fragen wir doch mal direkt nach:
                    1. Bist du dir sicher, dass $array in der Form direkt vor der Schleife vorliegt?
                    2. Wie sieht denn dein "Aufruf" von $tag[1] aus?

                    Hier nun der ganze Code:

                    <?php

                    $daten = $_POST[daten];
                    $daten = strtr($daten, ",-/:@", ".....");
                    $daten = trim(nl2br($daten));
                    $array = array();
                    $array = explode('
                    ',$daten);



                    $tag = array();

                    foreach ($array as $zwischenvariable)
                    $tag[] = substr($zwischenvariable, 0, 2);

                    var_dump($tag);

                    ?>
                    Mit $_POST[daten] wird folgender Text aus dem vorherigen Formular geholt:

                    "03.04.07 München
                    04.04.07 Köln
                    07.04.07 Berlin"

                    Der var_dump - Aufruf bringt folgendes:
                    array(3) { [0]=> string(2) "03" [1]=> string(2) " " [2]=> string(2) " " }

                    Kommentar


                    • #11
                      Tja, dann ist $_POST['daten'] nicht so, wie du es dir vorstellst. Mit $tag[1] gibt er anscheinend etwas aus, allerdings anscheinend nur Leerzeichen wieso änderst du eigentlich die Zeilenumbrüche in
                      s, nur um sie zwei Zeilen später wieder zu entfernen? Ich versuchs einfach mal ins Blaue (obwohl ich nich ma weiß, wie bei dir $POST['daten'] nu wieder genau aussieht

                      PHP-Code:
                      $daten strtr($_POST['daten'], ",-/:@"".....");
                      $daten explode('\n',$daten);

                      $tag = array();

                      foreach (
                      $daten as $temp) {
                        
                      $temp trim ($temp);
                        
                      $tag[] = substr ($temp02);
                      }

                      var_dump($tag); 

                      Kommentar


                      • #12
                        Ich habe die
                        's dareingesetzt, weil es so, wie du es vorschlägst (mit "$array = explode('\n',$daten);" nicht geklappt hat.

                        Und auch so wird bei "var_dump($tag);" lediglich folgendes ausgegeben:

                        array(1) { [0]=> string(2) "03" }

                        Bei "var_dump($array);" :

                        array(1) { [0]=> string(50) "03.04.07 München 04.04.07 Köln 07.04.07 Berlin" }

                        Es klappt also immer noch nicht mit dem "\n"

                        Kommentar


                        • #13
                          Das \n in double quotes setzen!

                          Und:

                          - Bevor du auf $_POST['irgendwas'] zugreifst, erstmal prüfen, ob $_POST['irgendwas'] überhaupt existiert;

                          - Dieses irgendwas (hier: daten) in Hochkommata setzen, denn es ist ja keine Konstante. Folglich error_reporting auf E_ALL setzen!

                          Basti

                          Kommentar


                          • #14
                            Zitat von Basti
                            Das \n in double quotes setzen!

                            Und:

                            - Bevor du auf $_POST['irgendwas'] zugreifst, erstmal prüfen, ob $_POST['irgendwas'] überhaupt existiert;

                            - Dieses irgendwas (hier: daten) in Hochkommata setzen, denn es ist ja keine Konstante. Folglich error_reporting auf E_ALL setzen!

                            Basti
                            Danke! So geht es!

                            Kommentar

                            Lädt...
                            X