Ankündigung

Einklappen
Keine Ankündigung bisher.

Php-Werte im Array innerhalb einer foreach-Schleife speichern

Einklappen

Neue Werbung 2019

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

  • Php-Werte im Array innerhalb einer foreach-Schleife speichern

    Hallo liebe Forumsmitglieder,

    ich sitze nun schon seit Tagen an einem größeren Problem. Ein Punkt dieses Problem ist, dass ich nicht weiß, wie ich innerhalb einer foreach-Schleife ein array erstellen kann.
    Ich habe nachfolgende foreach-Schleife:

    foreach($r AS $i)
    {$id = $i['id'];}

    Da ich nun 50 solcher IDs bekomme, möchte ich diese in ein Array speichern. Ich weiß allerdings nicht wie.

    Zunächst habe ich eine for-Schleife in die foreach-Schleife eingebaut, ungefähr so:

    foreach($r AS $i)
    {$id = $i['id'];
    for ($i=0; $i<50; $i++)
    {$phparray[$i]=$id;
    }
    }

    Allerdings bau ich dann für jede id ein eigenes Array und nicht ein globales wo alle ids drin sind.
    Wenn ich die for-Schleife hinter die foreach-Schleife lager, wird nur der Wert der letzten id gespeichert.

    Wie kann ich das Problem lösen?

    Ich wäre für jede Hilfe wahnsinnig dankbar )).

  • #2
    Innerhalb der Schleife das Array erweitern

    PHP-Code:
    foreach($r AS $i)
    {
      
    $ids[] = $i['id'];
    }

    print_r($ids); 
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      Oh super, danke! Funktioniert prima.

      Allerdings taucht nun das nächste Problem auf: Ich würde gerne dieses php-Array in ein Javascript-Array umwandeln, was ich wie folgt gemacht habe:

      $jsArray = json_encode($ids);
      echo "var javascript_array = " . $jsArray . ";\n";



      Allerdings hab ich dann das Problem, dass es mir immer das gesamte Array ausgibt, was ich ja eigentlich gar nicht möchte (auf Grund des echo"..") und wenn ich das im Javascriptcode aufrufen möchte, macht er gar nix.


      echo "<script type=\"text/javascript\">

      var a = javascript_array[1];
      alert(a);

      </script>";


      Wo liegt da mein Denkfehler?

      Kommentar


      • #4
        Poste vollständigen, nachvollziehbaren, lauffähigen Code ("$jsArray..." ist ja sicher PHP, benutze PHP-Tags; "var javascript_array..." ist Javascript, gehört in Script-Tags im HTML-Quelltext).

        PHP-Code:
        <?php

            $array 
        = array(
                
        '1',
                
        '2',
                
        '3'
            
        );
            
        ?>

        <html>
        <body>
        <script type="text/javascript">
            var array = <?php echo json_encode($array); ?>;
            alert(array[1]);
        </script>
        </body>
        </html>
        [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

        Kommentar

        Lädt...
        X