27. januar 2004 - 20:10
Der er
18 kommentarer og 1 løsning
problem med udskrivning af array
Hej alle Jeg er ved at lave noget med sprog på min hjemmeside. jeg har lavet et array som hedder sprog: $sprog = array(); $sprog['da']['navn'] = "Dansk"; $sprog['da']['grafik'] = ""; $sprog['en']['navn'] = "English"; $sprog['en']['grafik'] = ""; nu vil jeg så godt have at det skal blive udskrivet sådan at hvis grafik ikke indeholder noget så skal den bare udskrive: Dansk - English eller skal den udskrive 2 grafik bidder.. Er der nogle der kan hjælpe mig med det.. har prøvet på forskellige måder med for() og foreach() men har ikke lige kunne få det til at lykkedes.. Thomas
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
27. januar 2004 - 20:22
#1
Skal den tjekke allesammen, eller kun én af nøglerne? Altså hvis $sprog['da']['grafik'] er forskellig fra "", men den anden ikke er, hvad skal der så ske?
27. januar 2004 - 20:25
#2
Det var et godt spm.. :) Den havde jeg ikke tænkt på... :) men et svar på det spm må være at så udskriver den bare tekst.. Tror nemlig ikke at det vil ske.. :) Thomas
27. januar 2004 - 20:47
#3
$tjek = 0; foreach($sprog as $key) if($sprog[$key]['grafik'] == "") { $tjek = 1; } } Så vil $tjek være 1 hvis en af $sprog[]['grafik'] er lig med ""
27. januar 2004 - 20:49
#4
Så kan du efterfølgende gøre noget lig: if ($tjek == 1) { echo "Dansk - Engelsk"; } else if ($tjek == 0) { //vis din grafik }
27. januar 2004 - 20:57
#5
Det er jo ikke generelt.. Den skal køre arrayet igennem og udskrive alle tingene i det.. det kan jo godt være at der er 3-4-5 sprog... Thomas
27. januar 2004 - 21:03
#6
Det ka godt være at jeg er lidt tungnem, men jeg har svært ved at forstå det... :) foreach($sprog as $key) if($sprog[$key]['grafik'] == "") { $tjek = 1; } foreach($sprog[$key] as $key2 => $value){ echo $key2 " => " . $value . "<br />"; } } men jeg tror stadig ikke at jeg har forstået dig.
27. januar 2004 - 21:04
#7
foreach($sprog as $key) if($sprog[$key]['grafik'] == "") { $tjek = 1; } foreach($sprog[$key] as $key2 => $value){ echo $key2 . " => " . $value . "<br />"; } }
27. januar 2004 - 21:06
#8
Den ovenstående kode er helt i udu ka jeg se... kigger lige på det
27. januar 2004 - 21:07
#9
foreach($sprog as $key => $value) { if($sprog[$key]['grafik'] == "") { $tjek = 1; } foreach($sprog[$key] as $key2 => $value2){ echo $key2 . " => " . $value2 . "<br />"; } }
27. januar 2004 - 21:08
#10
jeg skal have en udskrift som ser sådan her ud Dansk - English hvis mit array ser således ud.. $sprog['da']['navn'] = "Dansk"; $sprog['da']['grafik'] = ""; $sprog['en']['navn'] = "English"; $sprog['en']['grafik'] = ""; jeg har prøvet med denne kode.. foreach($sprog as $v1){ foreach ($v1 as $v2) { printf("<td><a href=>%s</a></td>",empty($v1[$v2]['grafik']) ? $v1[$v2]['navn'] : "<img src=\"". $v1[$v2]['grafik'] ."\" border=\"0\">"); } } Thomas
27. januar 2004 - 21:15
#11
Aha.. nu forstod jeg lidt mere. Prøv med: foreach($sprog as $v1 => $value){ foreach ($sprog[$v1] as $v2) { printf("<td><a href=>%s</a></td>",empty($sprog[$v1]['grafik']) ? $v1[$v2]['navn'] : "<img src=\"". $v1[$v2]['grafik'] ."\" border=\"0\">"); } }
27. januar 2004 - 21:21
#12
Fik ikke helt de andre med foreach($sprog as $v1 => $value){ foreach ($sprog[$v1] as $v2) { printf("<td><a href=>%s</a></td>",empty($sprog[$v1]['grafik']) ? $sprog[$v1]['navn'] : "<img src=\"". $sprog[$v1]['grafik'] ."\" border=\"0\">"); } }
27. januar 2004 - 21:32
#13
det ser meget godt ud... Nu udskriver den bare danskdanskenglishenglish
27. januar 2004 - 21:45
#14
Ok, det skal heller ik gøres mere besværligt end det er. Nu bliver der først tjekket om en 'grafik' nøgle er tom, hvis ingen af dem er det, bliver hver grafik skrevet ud. Hvis der findes en tom, så bliver navnene skrevet ud. <?php $sprog['da']['navn'] = "Dansk"; $sprog['da']['grafik'] = "1"; $sprog['en']['navn'] = "English"; $sprog['en']['grafik'] = "1"; $tjek = 0; foreach($sprog as $key => $val){ if($sprog[$key]['grafik'] == "") { $tjek = 1; } } if ($tjek == 0) { foreach($sprog as $v1 => $value){ echo "<img src=\"" . $sprog[$v1]['grafik'] . "\" alt=\"\" border=\"0\" />"; } } elseif ($tjek == 1) { foreach($sprog as $v1 => $value) { echo $sprog[$v1]['navn'] . " "; } } ?>
27. januar 2004 - 23:40
#15
Det er meget fint... :) Hvis du så lige smider et svar.. :) Thomas
27. januar 2004 - 23:44
#16
Lige en ting mere som du måske kan hjælpe mig med.. Hvis jeg så når folk har trykket på et sprog, skifter en session og så skal folk smides tilbage til den side de kom fra.. Så ville jeg lave *.php?link=enside.php?mode=blahblah men så kommer der en fejl, ikk ? Hvordan laver jeg det.. ?? Thomas
27. januar 2004 - 23:46
#17
.php?link=enside.php&mode=blahblah
27. januar 2004 - 23:50
#18
Her har du et svar. Er tilbage i morgen hvis der er brug for mere hjælp :) Mikkel Rostved
27. januar 2004 - 23:53
#19
schaefner > Så kan mode jo lige så godt høre til den existerende php fil... hvis man kunne ville jeg skrive det sådan: .php?link='endfil.php?mode=blahblah' Håber at det gav lidt mere mening.. Thomas
Vi tilbyder markedets bedste kurser inden for webudvikling