Lukki: array_push Fehler

Hallo,

was mache ich falsch hier:

$test = array();  
$test = array_push ( $test, 'blabla' );  

Fehlermeldung:

Warning</b>:  array_push() expects parameter 1 to be array, integer given in..

Ich dachte, $test als array zu generieren und danach mit array_push mit Elementen bestücken würde so gehen?

Grüße, Lukki

  1. Ich dachte, $test als array zu generieren und danach mit array_push mit Elementen bestücken würde so gehen?

    var_dump($test);

    1. var_dump($test);

      Ich denke, es hat mit dem Gültigkeitsbereich von $test zu tun. Aber wie, außer in einer Funktion kann es denn in einem Script passieren, dass eine Variable nicht mehr gültig ist?

      Sie spuckt den Wert 1 aus.

      Lukki

      1. var_dump($test);

        Ich denke, es hat mit dem Gültigkeitsbereich von $test zu tun. Aber wie, außer in einer Funktion kann es denn in einem Script passieren, dass eine Variable nicht mehr gültig ist?

        Sie spuckt den Wert 1 aus.

        var_dump() gibt sicher nicht nur "1" aus.

        1. var_dump() gibt sicher nicht nur "1" aus.

          Nein, ich hatte print_r($test) gemacht. var_dump() gab NULL aus.

          Es ist so, dass ich ein Array $test immer weiter befüllen möchte. Es scheint so, dass das so nicht geht.

          Ich sammel mit $test verschiedene Ausgabemeldungen innerhalb eines Scriptes ein und möchte diese am Schluss über eine foreach-Schleife gebündelt ausgeben.

          $test = array();
          $test = array_push ( $test, 'blabla' );
          $test = array_push ( $test, 'blabla1' );
          $test = array_push ( $test, 'blabla2' );

          Und das geht nicht.

          Wie macht man denn so etwas?

          Grüße, Lukki

          1. Wenn ich es so mache:

            $test = array();
            $test[] = 'bla';

            erhalte ich:

            Warning: Cannot use a scalar value as an array in

            Grüße, Lukki

            1. Hi!

              Wenn ich es so mache:
              $test = array();
              $test[] = 'bla';
              erhalte ich:
              Warning: Cannot use a scalar value as an array in

              Nein, bekommst du nicht. Jedenfalls nicht so in dieser direkten Form. Da ist noch was dazwischen, was $test ändert oder die Gültigkeitsbereiche stimmen nicht überein.

              Lo!

          2. Hi!

            var_dump() gibt sicher nicht nur "1" aus.
            Nein, ich hatte print_r($test) gemacht. var_dump() gab NULL aus.

            Das passt nicht zusammen. Wenn var_dump() NULL ausgibt, kann print_r() nicht 1 ausgeben - jedenfalls nicht, wenn es derselbe Wert ist.

            Es ist so, dass ich ein Array $test immer weiter befüllen möchte. Es scheint so, dass das so nicht geht.

            Es geht einfacher mit $test[] = wert;

            $test = array();
            $test = array_push ( $test, 'blabla' );
            $test = array_push ( $test, 'blabla1' );
            Und das geht nicht.
            Wie macht man denn so etwas?

            Wenn etwas nicht geht, schaut man im PHP-Handbuch nach, wie es dort beschrieben steht. In deinem Fall solltest du mal nachsehen, was array_push() für ein Ergebnis zurückgibt. Anschließend solltest du die Existenz der Funktion wieder vergessen und die []-Syntax lernen.

            Lo!