03. august 2004 - 12:40
Der er
13 kommentarer og 1 løsning
Splitte steng ved ,
Hej, jeg har en streng som ser sådan ud: £1,£2,#3,£5, Det jeg skal ende med, er i dette tilfælde 4 variabler som skal se sådan ud: $var1=£1, $var2=£2, $var3=#3, $var4=£5,
Annonceindlæg fra Genetec
03. august 2004 - 12:58
#1
<?php $string = "£1,£2,#3,£5,"; $var = explode("," ,$string); foreach ($var as $val) { $var[] = $val; } echo $var[0]."<br>"; echo $var[1]."<br>"; echo $var[2]."<br>"; echo $var[3]; ?>
03. august 2004 - 13:03
#2
Hvad med: <?php $txt = "£1,£2,#3,£5,"; preg_match_all( "/.*?,/s", $txt, $matches ); print_r( $matches[ 0 ] ); ?>
03. august 2004 - 13:03
#3
Smukt, dert virker. Men hvad gør jeg så når der er et forskelligt antal variabler, her er den jo bundet til 4?
03. august 2004 - 13:05
#4
Både krydsets og min løsning virker ved et vilkårligt antal... Du skal bare selv tilgå dem med $var[789] eller $matches[0][789] (alt efter hvilken løsning du bruger).
03. august 2004 - 13:06
#5
corderdk > Med dit forslag kommer den med dette: Array ( [0] => £1, [1] => £2, [2] => #3, [3] => £5, ) - det var ikke helt det jeg skulle bruge
03. august 2004 - 13:07
#6
Uhm, krydset, din løsning er lidt underlig ;) Den er "dobbelt"... plus der er et tomt element i $vars[4] og $vars[9] ;) hehehe
03. august 2004 - 13:08
#7
mp82, jo det var det netop, se: <?php $txt = "£1,£2,#3,£5,"; preg_match_all( "/.*?,/s", $txt, $matches ); $var = $matces[ 0 ]; echo "$var[0]<br>"; echo "$var[1]<br>"; echo "$var[2]<br>"; echo "$var[3]<br>"; ?>
03. august 2004 - 13:09
#8
print_r skriver bare indholdet ud. Du har skrevet specifikt at du vil have , med i dine variable ;)
03. august 2004 - 13:11
#9
Men hvis du ikke vil have , med i variablen, så virker denne lige så godt: <?php $txt = "£1,£2,#3,£5,"; preg_match_all( "/(.*?),/s", $txt, $matches ); $var = $matces[ 1 ]; echo "$var[0]<br>"; echo "$var[1]<br>"; echo "$var[2]<br>"; echo "$var[3]<br>"; ?>
03. august 2004 - 13:12
#10
Aha, klart - så kan krydset's løsning jo også sagtens fungere ... Krydset > smid lige et svar så deler jeg pointene mellem jer.
03. august 2004 - 13:14
#11
<?php $string = "£1,£2,#3,£5,"; $var = explode("," ,$string); foreach ($var as $val) { echo $val."<br>"; } ?>
03. august 2004 - 13:14
#12
Der echoer den ud inde i foreach løkken hvis den skal det. M
03. august 2004 - 13:14
#13
Nej tak vil ikke have point tag dem selv eller giv dem til en anden
03. august 2004 - 13:16
#14
Krydset > Jeg har set lyset, så nu kan jeg komme videre. Tak for hjælpen til jer begge.
Vi tilbyder markedets bedste kurser inden for webudvikling