michi_man: Array auslesen/einlesen

Hi zusammen

In einem (Input) Textfeld könne beliebige Worte eingegeben werde.
Aus dem Textfeld setzte ich dann mit diesem Gebilde ein Array zusammen

$er_array = ereg_replace(" ","','",$stuecke);
$array_kom = "'".$er_array."'";
(zB. 'hallo','welt','html')

Gebe ich $array_kom mit einem echo aus erscheint auch brav: 'hallo', 'welt', 'html'

Lese ich nun aber diese Variable in ein Array an:
$search = array($array_kom);

Läuft mein Script nicht mehr weiter, weil so wie es scheint, das Array nicht sauber ist. Fülle ich das Array von Hand im Code ab, geht es.

Was mache ich falsch.

Danke euch schon mal im voraus.

gruss aus der schweiz
michi

  1. Hi, ob das was falsch ist kann ich nichtmal sagen, es ist aber recht unsinnig.

    In einem (Input) Textfeld könne beliebige Worte eingegeben werde.
    Aus dem Textfeld setzte ich dann mit diesem Gebilde ein Array zusammen

    $er_array = ereg_replace(" ","','",$stuecke);
    $array_kom = "'".$er_array."'";
    (zB. 'hallo','welt','html')

    Gebe ich $array_kom mit einem echo aus erscheint auch brav: 'hallo', 'welt', 'html'

    Das ist nämlich kein Array!!!

    Nutze einfach eine vorgesehene Funktion, die aus einem String ein Array macht, und zwar explode < http://de2.php.net/manual/de/function.explode.php>

    mfg
    Knusperklumpen

    1. Hi, ob das was falsch ist kann ich nichtmal sagen, es ist aber recht unsinnig.

      schade eigentlich ;-)

      $er_array = ereg_replace(" ","','",$stuecke);
      $array_kom = "'".$er_array."'";
      (zB. 'hallo','welt','html')

      Gebe ich $array_kom mit einem echo aus erscheint auch brav: 'hallo', 'welt', 'html'

      Das ist nämlich kein Array!!!

      Nutze einfach eine vorgesehene Funktion, die aus einem String ein Array macht, und zwar explode http://de2.php.net/manual/de/function.explode.php

      Ich will ja aber das Array nicht voneinander nehmen, sondern nur wie es sich gehört, Hochkommas und Kommas dazwischen setzen.

      1. Hi

        Ich will ja aber das Array nicht voneinander nehmen, sondern nur wie es sich gehört, Hochkommas und Kommas dazwischen setzen.

        Was bedeutet "voneinander nehmen"??
        Willst du nun aus den eingaben in dem Textfeld ein Array erzeugen oder nicht?

        mfg
        Knusperklumpen

        1. Was bedeutet "voneinander nehmen"??
          Willst du nun aus den eingaben in dem Textfeld ein Array erzeugen oder nicht?

          Ja genau das will ich!
          Aber die Eingabe im Textfeld erfolgt so: hallo welt
          Um die zwei Werte nun in ein neues Array zu übergeben welches ich dann Abfragen kann, muss es doch aber so heissen: $array = array('hallo', welt')

          gruss
          michi

          1. Willst du nun aus den eingaben in dem Textfeld ein Array erzeugen oder nicht?
            Ja genau das will ich!

            Ja, dann musst du eben die dafür vorgesehen Funktion verwenden ... die explode heißt!

            Was du aus deinem Textfeld bekommst ist ein String aus vielen Wörtern, die jeweils mit Leerzeichen getrennt sind.
            Der String wird nicht allein dadurch zum Array, indem du Hochkommas um die Wörter baust und überall ein Komma dazwischensetzt.

            Explode nimmt diesen String, "zerhackt" ihn am Leerzeichen (bzw. dem Zeichen, welches du angibst) und packt die einzelnen übrig bleibenden Strings jeweils als Element in ein Array.

            Probiere es doch einfach mal aus, dann siehst du, dass es funktioniert ... ach ja, und wenn du das richtige Array dann ausgeben willst verwende bitte print_r und nicht echo ;-)

            mfg
            Knusperklumpen

            1. Probiere es doch einfach mal aus, dann siehst du, dass es funktioniert ... ach ja, und wenn du das richtige Array dann ausgeben willst verwende bitte print_r und nicht echo ;-)

              Also mit den Array muss ich noch üben...es läuft jetzt...vielen Dank.
              Mein Code sieht nun so aus:

              $stuecke  = "$strsuchen";
              $teile = explode(" ", $stuecke);
              $search = $teile;

              Eigentlich einfach!

              Danke und bis dann.

              Gruss
              Michi

              1. $stuecke  = "$strsuchen";
                $teile = explode(" ", $stuecke);
                $search = $teile;

                Eigentlich einfach!

                und es ginge noch einfacher

                $search = explode(" ", $strsuchen);

                ;-)

                Wenn du einmal dabei bist schaue gleich noch ein paar weitere Array-Funktionen an, da gibt es viel nützliches.
                Und beschäftige dich auch damit, dass dir jemand was Böses können wollte und Schindluder in dein Input-Feld eingibt.

                Wozu dient dieser Mechanismus?

                mfg
                Knusperklumpen

  2. hi,

    Gebe ich $array_kom mit einem echo aus erscheint auch brav: 'hallo', 'welt', 'html'

    Das ist _ein_ String.

    Lese ich nun aber diese Variable in ein Array an:
    $search = array($array_kom);

    Jetzt hast du ein Array, dass aus einem einzelnen Element besteht - und dessen Inhalt ist "'hallo', 'welt', 'html'".

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }