DrDreist Geschrieben 4. Dezember 2009 Geschrieben 4. Dezember 2009 Hallo Community, ich komm leider nicht weiter, also irgendwo ist nen Denkfehler bei mir ^^ Und zwar geht es um Folgendes: Ich lese aus einer Datei einen String aus, der wie folgt auf gebaut ist: echo "Wert1;Wert2;Wert3;Wert4;" So nun hätte ich gern diesen String als Array. Mit der Funktion: $meinArray[] = explode( ";", $string ) Als Ergebnis bekomm ich nun ein indiziertes Array das wie folgt aussieht: meinArray[0] = Wert1; meinArray[1] = Wert2; Nun hätt ich aber gern ein assoziatives Array. Natürlich könnt ich jetzt hergehen und meinArray['Biersorte'] = $meinArray[0]; unset $meinArray[0]; usw. aber das ist bei 500 Arrays à 10 Felder vielleicht nicht ganz so performant. Deshalb meine Frage gibt es eine Funktion oder eine Ableitung der Funktion explode die mir direkt ein assoziatives Array erzeugt? Vll mit einem vorderfinierten Array. Schon mal danke fürs Lesen. Grüße
_n4p_ Geschrieben 4. Dezember 2009 Geschrieben 4. Dezember 2009 PHP: array_combine - Manual $aArrayKeys = {'eins','zwei','drei'}; $deinArray = explode (';',$sWerte); $aFinal = array_combine($aArrayKeys,$deinArray); echo '<pre>'.print_r($aFinal,true).'</pre>'; Gibt FALSE zurück, wenn die Anzahl von Elementen nicht in beiden Arrays identisch ist oder die Arrays leer sind. heißt, es funktioniert nur wenn deine 500 arrays wirklich alle die gleiche länge haben. bzw müsstest sie dann der länge nach gruppiert verarbeiten.
DrDreist Geschrieben 4. Dezember 2009 Autor Geschrieben 4. Dezember 2009 Super vielen Dank. Das war genau das nach was ich gesucht hatte Lösung sieht wie folgt aus: foreach ($content as $value) { # Auf eventuelle Leerzeilen reagieren if ( strstr($value, ";") !== false ) { $values = explode(";", $value); $journal[] = array_combine( $keys, $values); } }
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden