Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Assoziatvies Array aus String

Empfohlene Antworten

Veröffentlicht

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

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.

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);

   }

}

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.