Avatar billede kgp43 Nybegynder
27. februar 2004 - 07:36 Der er 11 kommentarer og
1 løsning

Split variabel

Hejsa,

Jeg har en variable ala dette her: $type20_521
Hvordan får jeg denne variable splittet i to:

var1=$type20
var2=$521

Håber det er forklaring nok.
Avatar billede kgp43 Nybegynder
27. februar 2004 - 07:45 #1
Jeg kan også opdele de to værdier (type20 og 521) med et andet tegn, hvis det gør det lettere.
Avatar billede limemedia Nybegynder
27. februar 2004 - 07:47 #2
hvorfor har du $ foran type20_521 - er det i sig selv også en variabel ?
Avatar billede kgp43 Nybegynder
27. februar 2004 - 07:53 #3
woops, min fejl.

Egentlig ser den sådan ud: $pris har værdien "type20_521

Jeg vil gerne have denne værdi splittet op i to variabler (bemærk at disse to værdier bare er et eksempel, i virkeligheden er de variable).
- var1 med værdien type20 og var2 med værdien 521
Avatar billede kgp43 Nybegynder
27. februar 2004 - 07:53 #4
Har set at denne kode fjerner alt efter ":", men kan ikke helt bruges (tror jeg):
$nyvar = substr($var, 0,strrpos($var, ":"));
Avatar billede limemedia Nybegynder
27. februar 2004 - 08:06 #5
her er et lille eksempel
du skal huske, at en variabel i php ikke kan starte med et tal, men enten et bogstav mellem a og z eller en underscore. Jeg tilføjede i eksemplet herunder "v" som forkortelse for "variabel", hvad du specificerer den til er dog op til dig - som det er nu, vil dit format ikke virke.

<?php
    $variabel = 'type20_v521';
    $type20 = 'hello';
    $v521 = 'world';
   
    list($l, $r) = explode('_', $variabel);
   
    $var1 = $$l;
    $var2 = $$r;
   
    echo $var1.' '.$var2;
?>
Avatar billede kgp43 Nybegynder
27. februar 2004 - 08:06 #6
Nb. længden af de to værdier ændres, så koden skal bruge "_" for at splitte.
Avatar billede kgp43 Nybegynder
27. februar 2004 - 08:10 #7
Ser fint ud. Min forrige post blev postet inden jeg så dit svar :)
Avatar billede Slettet bruger
27. februar 2004 - 11:02 #8
Jeg har set, at der er et accepteret svar, men hvis jeg har forstået det, du ønsker korrekt, så er det bare:

$pris="type20_521";
list($var1,$var2)=explode('_',$pris);
Avatar billede kgp43 Nybegynder
27. februar 2004 - 12:01 #9
Takker sandbox. Jeg bruger dit forslag, da det virker mere overskueligt :)
Avatar billede limemedia Nybegynder
27. februar 2004 - 13:59 #10
hvis sandbox' svar er anvendeligt, har jeg ikke svaret på det spørgsmål du mente, men det du stillede. Jeg kan flytte de pågældende point til sandbox hvis ønsket
Avatar billede kgp43 Nybegynder
27. februar 2004 - 14:06 #11
nej, det er okay.
Du besvarede mit spørgsmål, men jeg har valgt at anvende sandbox's forslag - dette er dog ikke din fejl. Har ikke afprøvet dit forslag, men går udfra at det virker :)
Avatar billede Slettet bruger
27. februar 2004 - 15:22 #12
Lars, du beholder dem bare. Dit indlæg indeholdt jo alt jeg skulle bruge.

(Og jeg har rigeligt point til at jeg er sikker på Pro i næste måned.)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester