Array Dynamisch erzeugen, aber mit Indexen die nicht nummerisch sind

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

  • Array Dynamisch erzeugen, aber mit Indexen die nicht nummerisch sind

    Also, ich habe folgendes Problem:

    Ich will gerne die Function strtr benutzen, um damit in einem String ersetzungen durchführen zu können.

    Diese Function erwartet zwei Parameter, einmal den String, in dem die Sachen ersetzt werden sollen, und dann noch ein Array, in dem die Ersetzungen stehen.
    Das dumme ist nur, diese Array muss folgendermaßen beschaffen sein, wie zum Beispiel so:
    $array = array("ä" => "ae", "ü" => "ue")
    Das ist kein Problem wenn ich diese Erzetzungen schon kenne, wenn ich den Code schreibe. Das dumme ist nur, ich kenne die Ersetzungen noch nicht. Die lese ich aus einer Tabelle aus. Und dann will ich so ein Array erzeugen, mit den keywerten???

    ich hoffe mein Problem ist klar genug geworden.

    ich Hoffnung auf Hilfe,

    Nelson

  • #2
    meinste so:

    $array[ä] = "ae";
    $array[ü] = "ue";
    $array[ö] = "oe";



    dann sind die indexe ja nicht nummerisch

    mfg

    Kommentar


    • #3
      Achso ... und so: $array = array("ä" => "ae", "ü" => "ue") sind die dann numerisch geblieben ... ??
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar


      • #4
        @Nelson

        wenn du die ersetzungen aus einer tabelle liesst, so hat selbige ja auch mindestens zwei spalten. eine search- und eine replace-spalte

        somit kann du beim auslesen der tabelle so vorgeheen.

        PHP-Code:
        $sql "SELECT suche,ersetze FROM ersetzungen";
        $result mysql_query($sql);
        $search = array();
        $replace = array();
        while(
        $zeile=mysql_fetch_array()) {
          
        $search[] = $zeile["suche"];
          
        $replace[] = $zeile["ersetze"];
        }
        $string str_replace ($search$replace$string); 
        verstanden? ja. dann ists_ok_
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          thx für Hilfe.

          @Abraxax:
          ich brauche ja ein Array, nicht zwei für die Funkion strtr. Also geht dein Code so nicht, denn der liefert ja als ergebniss wieder zwei Arrays. Ich brauche ein Array. Die Keys müssen die SuchStrings sein, die Werte die ReplaceStrings.

          @goth:
          nein, so sind die nicht numerisch, aber so müßte ich die Erzestzungen ja fest in den Code eingeben. Und ich will die ja aus einer Tabelle auslesen!

          @Trashar:
          das könnte so gehen. Aber funktioniert das auch, wenn die keys noch nicht existieren?

          grüße

          Nelson

          Kommentar


          • #6
            funzt das nich?
            PHP-Code:
            while($zeile=mysql_fetch_array())
              
            $search[$zeile['suche']] = $zeile['ersetze']; 
            EDIT:
            bei mir zumindest geht's und mir is nich bekannt, dass php eine charakter-skriptsprache is
            Zuletzt geändert von mrhappiness; 24.03.2003, 19:38.
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Original geschrieben von Nelson
              @Trashar:
              das könnte so gehen. Aber funktioniert das auch, wenn die keys noch nicht existieren?
              Ist es nicht bei jeder sprache so, dass man deklaration und initialisierung in einem machen kann !?

              Kommentar


              • #8
                geht jetzt alles, vielen dank für euere Hilfe,

                Nelson

                Kommentar

                Lädt...
                X