ISOS6 Skrevet 17. januar 2010 Del Skrevet 17. januar 2010 Hei, Jeg har søkt hele i dag å finne ut hvordan jeg fikser noe slikt, men klarer det aldri. Jeg vil lage noe som skal plukke navn og alder på denne måten: Anders#26|Thomas#23|Henrik#19 osv Hvordan lager sorterer jeg disse slikt Anders (26) Thomas (23) Henrik (19) På forhånd takk! Lenke til kommentar
Jonas Skrevet 17. januar 2010 Del Skrevet 17. januar 2010 F.eks. slik. <?php $input = 'Anders#26|Thomas#23|Henrik#19'; $input = explode('|', $input); for ($iTell = 0; $iTell < count($input); $iTell++) { $input[$iTell] = explode('#', $input[$iTell]); $result[$input[$iTell][1]] = $input[$iTell][0]; } var_dump($result); ?> Lenke til kommentar
Alex Moran Skrevet 17. januar 2010 Del Skrevet 17. januar 2010 <?php $people = 'Anders#26|Thomas#23|Henrik#19'; $people = explode('|', $people); $result = array(); foreach ($people as $person) { list($name, $age) = explode('#', $person); $result[$name] = $age; } var_dump($result); Lenke til kommentar
alp_renx Skrevet 17. januar 2010 Del Skrevet 17. januar 2010 eller <?php $these_profiles = ""; $profiledata = "Anders#26|Thomas#23|Henrik#19"; $profiles = explode("|", $profiledata); while(list($key, $profile) = each($profiles)){ $p = explode("#", $profile); $these_profiles .= "<p>".trim($p[0])." (".trim($p[1]).")</p>"; } echo $these_profiles; ?> Lenke til kommentar
alp_renx Skrevet 17. januar 2010 Del Skrevet 17. januar 2010 eller enda kortere <?php $these_profiles = ""; $profiledata = "Anders#26|Thomas#23|Henrik#19"; $profiles = explode("|", $profiledata); while(list($key, $profile) = each($profiles)){ $these_profiles .= "<p>". str_replace("#", " (", trim($profile)). ")</p>"; } echo $these_profiles; ?> Lenke til kommentar
Jonas Skrevet 17. januar 2010 Del Skrevet 17. januar 2010 Dersom målet simpelthen hadde vært å printe ut dataen og man tar utgangspunkt i at stygge str_replace-er er flott så lenge det kutter ned på antall kodelinjer, så er det en utrolig tungvint måte å gjøre det på. <?php $input = "Anders#26|Thomas#23|Henrik#19"; echo '<p>' . str_replace (array('|', '#'), array(')</p><p>', ' ('), $input) . '</p>'; ?> Lenke til kommentar
alp_renx Skrevet 17. januar 2010 Del Skrevet 17. januar 2010 Det handler vel om å gi flere mulige innfallsvinkler på et og samme "problem" slik at man kan lære å bruke ulike php funksjoner til å løse sine problemer. Lenke til kommentar
ISOS6 Skrevet 17. januar 2010 Forfatter Del Skrevet 17. januar 2010 Tusen takk skal dere ha!!!! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå