explode met multiple delimiters?

Status
Niet open voor verdere reacties.

MrLee86

Gebruiker
Lid geworden
11 mei 2007
Berichten
41
Hallo allemaal,

Ik wil graag het volgende voor elkaar krijgen, maar heb geen idee hoe ik dat moet doen.
met explode kom ik er niet uit.

ik heb een string:
$string = "1%a|2%b|3%a|4%c";

Het gedeelte voor het % teken is het ID
Het gedeelte na het % teken is het ANTWOORD

Nu wil ik dit in een array krijgen, zoals:

$antwoord[1]=a;
$antwoord[2]=b;
$antwoord[3]=a;
$antwoord[4]=c;

dus in princiepe $antwoord[ID]=ANTWOORD

Kan iemand mij hiermee helpen?

Alvast bedankt!
 
Je kunt eerst vraag -> antwoord eruit breken, en die dan een voor een opsplitsen.

PHP:
// lijst met vraag en antwoord string maken
$question_answer = explode ( '|', $string );

$uitkomsten = array();

foreach ( $question_answer as $q_a ) {
  // voor elke entry de vraag en het antwoord splijten
  $splits = explode( '%', $q_a );
  $uitkomsten[ $splits[ 0 ] ] = $splits[ 1 ];
}

Note: geen error checking, dus als de string niet voldoet crasht ie gewoon; je moet em zelf uitbreiden waar nodig. Maar in de kern zou het moeten werken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan