Avatar billede hairboy1234 Nybegynder
19. juli 2003 - 17:59 Der er 15 kommentarer og
1 løsning

Flere variabler i én

Jeg har en variabel som indeholder en lang række ord alle adskildt af et mellemrum:

$variabel="text1 text2 text3 text4...";

Ud fra denne variabel vil jeg gerne have oprettet et array hvor hver plads i arrayet indeholder ét ord fra $variabel.

Altså så array'en kommer til at se således ud:

$variabeler_adskildt = array("text1", "text2", "text3", "text4");

Hvordan gør man det smartets?
Avatar billede googolplex Novice
19. juli 2003 - 18:03 #1
Avatar billede hairboy1234 Nybegynder
19. juli 2003 - 18:06 #2
det kan jeg se, tak
Avatar billede googolplex Novice
19. juli 2003 - 18:22 #3
Kan du hitte ud af det ?
Avatar billede hairboy1234 Nybegynder
19. juli 2003 - 18:38 #4
Ja det går fint.

Jeg har lige et andet spørgsmål:

En variabel indeholder nogle tal:

$variabel="12 147 1 25 36";

Nu vil jeg godt have fjernet en af værdierne: 1
Altså så variablen kommer til at hede:

$variabel="12 147 25 36";

Bemærk at 1'tallet i tolv ikke må forsvinde.
Håber du også har en løsning til det.
Avatar billede googolplex Novice
19. juli 2003 - 18:55 #5
I dit tilfælde kan du bare bruge unset();

unset($variabel[2]);

Så ser det således ud:

<?php

$variabel = "12 147 1 25 36";
$ny_variabel = explode(" ", $variabel);
print_r($variabel);
echo "<br />";
print_r($ny_variabel);
echo "<br />";
unset($ny_variabel[2]);
print_r($ny_variabel);

?>

www.ladefoged-roenne.dk/test.php

Men hvad er det præcist du vil have fjernet, er det alle 1-taller ?
Avatar billede hairboy1234 Nybegynder
19. juli 2003 - 19:03 #6
$variabel="12 147 1 25 36";

-> Bemærk at 1'tallet i tolv ikke må forsvinde. Det er altså kun det ene 1 tal der skal forsvinde.

Så kan jeg altså sige:

$ny_variabel = explode(" ", $variabel);
unset($ny_variabel[2]);

Så vil $ny_variabel være

$ny_variabel="12 147 1 25 36";

ik?
Avatar billede hairboy1234 Nybegynder
19. juli 2003 - 19:04 #7
rettelse:

$ny_variabel="12 147 25 36";

selvfølgelig, da " 1 " jo er væk
Avatar billede googolplex Novice
19. juli 2003 - 19:07 #8
Nej, 1-tallet er jo forsvundet :)

Og desuden har du jo nu et array, hvis du skal lavet det tilbage til en streng bruger du:

$variabel="12 147 1 25 36";
$ny_variabel = explode(" ", $variabel);
unset($ny_variabel[2]);
$heltny_variabel = implode(" ", $ny_variabel);

Nu har du:

$heltny_variabel = "12 147 25 36"; // 1-tallet er væk :)
Avatar billede googolplex Novice
19. juli 2003 - 19:08 #9
Men skal du ikke bruge en generel løsning, en der fjerner alle 1-taller eller en række bestemte tal ?
Avatar billede hairboy1234 Nybegynder
19. juli 2003 - 19:17 #10
Nej. Hvert tal repræcentere et userid. Hvis jeg vil fjerne brugeren med userid=1 skal den jo fjerne " 1 " og ikke bare alle 1 taller da den jo så også vil fjerne 1-tallet fra user #12 og derved smadre det.

En anden ting: Nu ved jeg hvordan man fjerner et tal, men hvordan vil du tilføje et?

Altså fx tilføje 1478:

$heltny_variabel = "12 147 25 36"; -> $helt_helt_ny_variabel = "12 147 25 36 1478";
Avatar billede hairboy1234 Nybegynder
19. juli 2003 - 19:19 #11
Man kunne vel sige:
$nyvar=1478;

$helt_helt_ny_variabel=$helt_helt_ny_variabel+$nyvar;

Eller hvad?
Avatar billede googolplex Novice
19. juli 2003 - 19:19 #12
Nej nej, den fjerner kun 1-taller, ikke 1-tallet i 12.

Se selv:

www.ladefoged-roenne.dk/test.php // Her fjernes fx. 1-taller & 14-taller :)

Vender tilbage med det andet om 10 minutter,
Avatar billede hairboy1234 Nybegynder
19. juli 2003 - 19:20 #13
Rettelse

$helt_helt_ny_variabel = "$helt_helt_ny_variabel $nyvar ";
Avatar billede hairboy1234 Nybegynder
19. juli 2003 - 19:22 #14
Jeg kan godt se at dit virker, jeg svarede blot på hvorfor jeg ikke skulle bruge en generel løsning.
Avatar billede googolplex Novice
19. juli 2003 - 19:33 #15
$variabel = "12 147 25 36";
$ny_variabel = $variabel . " " . $nyvar; // Først sættes et mellemrum på, derefter din nye værdi.
Avatar billede googolplex Novice
19. juli 2003 - 19:35 #16
Er det muligt for dig at bruge et array i stedet for en streng ? Så sparer du jo en del arbejde og det er meget nemmere at arbejde med :)
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