Avatar billede 7th Praktikant
12. september 2003 - 23:19 Der er 23 kommentarer og
1 løsning

Array til variabel

Jeg har et array hvis værdier jeg gerne vil have puttet ind i en enkelt variabel. Hvordan gør jeg det?

$alfabet = array("abc", "def", "ghi");

for ($i = 0; $i < count($test); $i++) {
$bogstav[] = "<span>$i</span>";
}

Nu har jeg formateret værdierne i $alfabet som jeg gerne vil have dem. Nu vil jeg gerne have puttet disse værdier ind i $udskriv, så $udskriv = <span>abc</span><span>def</span><span>ghi</span>
Avatar billede 7th Praktikant
12. september 2003 - 23:20 #1
ups... for ($i = 0; $i < count($alfabet); $i++) {
Avatar billede martinbk Nybegynder
12. september 2003 - 23:23 #2
$alfabet = array("abc", "def", "ghi");

for ($i = 0; $i < count($alfabet); $i++) {
$udskriv .= "<span>".$alfabet[$i]."</span>";
}
Avatar billede ztyxx Nybegynder
12. september 2003 - 23:26 #3
du skal ikke have . med i $udskriv, da det giver abc abc def abc def ghi
Avatar billede 7th Praktikant
12. september 2003 - 23:27 #4
holybull, det var også den løsning jeg fandt via http://www.eksperten.dk/spm/338869. Eneste "lille" problem er, at jeg får fejlmeddelelsen Notice: Undefined variable: udskriv.
Avatar billede ztyxx Nybegynder
12. september 2003 - 23:28 #5
burde virke sådan

<?
$alfabet = array("abc", "def", "ghi");

for ($i = 0; $i < count($alfabet); $i++) {
$udskriv = "<span>".$alfabet[$i]."</span>";
echo $udskriv;
}
?>
Avatar billede detox Nybegynder
12. september 2003 - 23:30 #6
$alfabet = array("abc", "def", "ghi");
$udskriv = "";
foreach ($alfabet as $item) {
$udskriv .= "<span>".$item."</span>";
}
Avatar billede 7th Praktikant
12. september 2003 - 23:31 #7
ztyxx > ikke så god en forklaring jeg har givet, men jeg skal bruge $udskriv udenfor for-sætningen.
Avatar billede detox Nybegynder
12. september 2003 - 23:33 #8
Du skal bare sætte:
$udskriv = "";
inden løkken.
Avatar billede ztyxx Nybegynder
12. september 2003 - 23:33 #9
okay, så skal . med

<?
$alfabet = array("abc", "def", "ghi");

for ($i = 0; $i < count($alfabet); $i++) {
$udskriv .= "<span>".$alfabet[$i]." </span>";
}
echo $udskriv;
?>
Avatar billede 7th Praktikant
12. september 2003 - 23:39 #10
detox > din løsning er fin, men kan det ikke lade sig gøre at lave det via en for-sætning?

Lang historie kort fortalt, så udtrækker jeg nogle menupunkter fra en database, og indsætter dem i et array som eksemplet foroven. Menupunkterne deler jeg så op, da jeg har en venstre og højre menu. I min nuværende for-sætning har jeg nogle if-sætninger, så jeg kan få de rigtige links på menupunkterne. Derfor vil jeg meget gerne kunne lave det via en for-sætning.
Avatar billede detox Nybegynder
12. september 2003 - 23:43 #11
Jo du kan sagtens gøre som holybull og senere ztyxx har vist. Bare indsæt:
$udskriv = ""; før løkken.

$alfabet = array("abc", "def", "ghi");
$udskriv = "";
for ($i = 0; $i < count($alfabet); $i++) {
$udskriv .= "<span>".$alfabet[$i]."</span>";
}
Avatar billede 7th Praktikant
12. september 2003 - 23:48 #12
Ja ok, er lidt træt, så det går ikke helt så godt idag for mig :o) Synes dog ikke $udskriv = ""; ser så pænt ud, så prøver lige noget, og vender så tilbage.
Avatar billede 7th Praktikant
13. september 2003 - 00:04 #13
Fandt dette som jeg synes er pænere :o)

$alfabet = array("abc", "def", "ghi");

for ($i = 0; $i < count($alfabet); $i++) {
$bogstav[] = "<span>".$alfabet[$i]."</span>";
}

echo implode("" , $bogstav);

Tak for hjælpen alle. Hvis ztyxx detox har lyst til at smide et svar, kan jeg godt afsætte lidt flere points.
Avatar billede detox Nybegynder
13. september 2003 - 00:07 #14
Osse en fin løsning. Jeg står pænt over.
Avatar billede tipsen Nybegynder
13. september 2003 - 00:32 #15
7th: At skrive $udskriv = ""; kaldes at initialisere din variabel og er gængs programmeringspraksis - hvis du skrotter en metode blot fordi du ikke synes den skrivemåde er 'pæn', vil jeg foreslå dig at revidere din opfattelse af, hvad du synes er pænt og grimt.

Derudover svarer din "egen" løsning ikke til, hvad du ønskede i spørgsmålet...
Avatar billede 7th Praktikant
13. september 2003 - 16:22 #16
Jeg tror godt ztyxx kan undvære de 5 points, men hvis du gerne vil have dem, så smid lige en kommentar, og jeg opretter nogle points til dig.
Avatar billede ztyxx Nybegynder
13. september 2003 - 17:14 #17
7th> jeg klarer mig nok, og jeg bidrog jo heller ikke med noget videre ;-)
Avatar billede 7th Praktikant
14. september 2003 - 17:59 #18
Okidoki :o)
Avatar billede schaefner Juniormester
14. september 2003 - 18:02 #19
$alfabet = array("abc", "def", "ghi");
echo '<span'.implode('</span><span>',$alfabet).'</span>';
Avatar billede schaefner Juniormester
14. september 2003 - 18:02 #20
hov:

echo '<span>'.implode('</span><span>',$alfabet).'</span>';
Avatar billede schaefner Juniormester
14. september 2003 - 18:08 #21
Synes ikke det bliver meget pænere :)
Avatar billede 7th Praktikant
15. september 2003 - 17:29 #22
Nemt og enkelt, hvis det ikke lige var fordi at jeg bruger min for-sætning til at putte forskellige links på menupunkterne.
Det ser egentlig lidt dum ud, at jeg først hiver noget ud af et array for blot at lave et nyt, og derefter hive det ud igen, men det er min hidtil bedste løsning :o)
Avatar billede schaefner Juniormester
15. september 2003 - 20:54 #23
Det var jo ikke nemt at vide ud fra din beskrivelse :)
Avatar billede 7th Praktikant
24. september 2003 - 17:22 #24
Nææ, det var det jo egentlig ikke. Sådan er går det når man sidder med et klart billede i hovedet over hvordan man vil have tingene til at fungere. Så glemmer man nogen gange at få det hele med på skrift.
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