29. november 2005 - 11:50
Der er
22 kommentarer og 1 løsning
conditional if
Jeg har tre variable $a, $b, $c - som enten er tomme ("") eller har værdi og tre andre variable $d, $e, $f Jeg vil gerne have en if som gør følgende: Pseudokode (3 eksempler): HVIS $a == "" && $b <> "" && $c <> "" SÅ udskriv noget HVIS $b==e && $c==f HVIS $a <> "" && $b <> "" && $c <> "" SÅ udskriv noget HVIS $a==$d && $b==e && $c==f HVIS $a <> "" && $b == "" && $c == "" SÅ udskriv noget HVIS $a==$d Jeg kan ikke gennemskue hvordan jeg gør ... uden en helvedes masse kombinatoriske if'er. Hilfe bitte :) På forhånd tak /Dej
Annonceindlæg fra Infor
29. november 2005 - 11:51
#1
$$$ - strø selv :)
29. november 2005 - 12:41
#2
if(empty($a) && !empty($b) && !empty($c)) { if($b == "e" && $c == "f") { echo "Udskriv noget"; } } elseif(!empty($a) && !empty($b) && !empty($c)) { if($a == $d && $b == "e" && $c == "f") { echo "Udskriv noget"; } } elseif(!empty($a) && empty($b) && empty($c)) { if($a == $d) { echo "Udskriv noget"; } }
29. november 2005 - 12:44
#3
første if. if(($a == "") && ($b <> "") && ($c <> "")) { echo "a er \"\", b <> \"\" og c <> \"\""; } Så er resten jo bare næsten det samme :-)
29. november 2005 - 12:44
#4
Too slow... :-)
29. november 2005 - 12:45
#5
jacobdo>>> Takker for svaret, men nu er vi ude i kombinatorik igen, mangler en principiel løsning så jeg ikke skal hardcode for hver mulig kombination. Hvis der nu er 5*5, 6*6 variable etc..
29. november 2005 - 12:46
#6
Du bruger == eller <>, jeg kan bedre lide at bruge php funktionen: empty(), smag og behag! Kan man i det hele taget bruge: <>? Skal det ikke være !=
29. november 2005 - 12:47
#7
Du tester efterfølgende om de er lige e eller f! Den forstår jeg ikke! Prøv at forklar lidt mere så?
29. november 2005 - 12:47
#8
sl33py>>> ditto :)
29. november 2005 - 12:51
#9
Det kan være det hjælper hvis jeg poster koden: $na = $_GET['na']; $fa = $_GET['fa']; $fl = $_GET['fl']; $er = $_GET['er']; $dir="./assets/images/vi/"; $output = ""; $mappe = opendir($dir) or die ("folder not found"); while($fil = readdir($mappe)) { if ($fil != "." && $fil != "..") { $strenge_array = explode(" ",$fil); //array seperate path and filename $navn = $strenge_array['0']; //just use filename $ord_array = explode("_",$navn); //array filename chunks $name = $ord_array['0']; //player name $faction = $ord_array['1'];//first name chunk $florins = $ord_array['2'];//second name chunk (not used yet) $era = $ord_array['3'];//third name chunk (not used yet) /*HER SKER DET*/if ($name == $na && $faction == $fa && $florins == $fl && $era = $er) { $output .= '<strong>'."$name $faction $florins $era".'</strong><br>'.'<img src="./assets/images/vi/'.$navn.'"/><br>'; }//if }//if }//while return $output;
29. november 2005 - 13:01
#11
Hvor søger ud henne? I en mappe eller mysql?
29. november 2005 - 13:04
#12
Mappe.. Der er en navne konvention på filnavnene Dej_Almo_10k_high_1.jpg
29. november 2005 - 13:19
#13
Du kunne måske bruge noget regexp?
29. november 2005 - 13:21
#14
Til hvad?
29. november 2005 - 13:28
#15
At udvælge de filer som skal matche! :o) Du bruger jo selectbox1 til del1 af filen. Du bruger jo selectbox2 til del2 af filen. Du bruger jo selectbox3 til del3 af filen. og Du bruger jo selectbox4 til del4 af filen. Ergo kunne du lave en regexp som ser om del1 matcher starten, del2, del3 osv...
29. november 2005 - 13:42
#16
Ked af det, fatter hat.. Hvordan kommer jeg ud over at skulle lave mange if'er af det? Kunne du sådan lidt pseudokode-agtigt skære det en smule mere ud i pap for lille dumme mig? :)
29. november 2005 - 14:08
#18
Årrhh du er en skat :) Jeg forhøjer lige pointsne lidt for dit besvær :) Skriv et svar Mange tak for hjælpen
29. november 2005 - 14:09
#19
Svar!
29. november 2005 - 14:09
#20
Og jeg ved forresten ikke om jeg vil være din skat! :o)
29. november 2005 - 14:13
#21
Takker for point!
29. november 2005 - 14:18
#22
:)
29. november 2005 - 20:40
#23
Resultatet for god ordens skyld: $na = $_GET['na']; $fa = $_GET['fa']; $fl = $_GET['fl']; $er = $_GET['er']; if($_GET['na'] == ""){ $na = ".+?"; }//if if($_GET['fa'] == ""){ $fa = ".+?"; }//if if($_GET['fl'] == ""){ $fl = ".+?"; }//if if($_GET['er'] == ""){ $er = ".+?"; }//if $find = $na . "_" . $fa . "_" . $fl . "_" . $er .".+?".".jpg"; //bruges til preg_match $dir="./assets/images/vi/"; $output = ""; $mappe = opendir($dir) or die ("folder not found"); while($fil = readdir($mappe)) { if ($fil != "." && $fil != "..") { $strenge_array = explode(" ",$fil); //array seperate path and filename $filnavn = $strenge_array['0']; //just use filename $ord_array = explode("_",$filnavn); //opdel filnavn $name = $ord_array['0']; //navne stump $faction = $ord_array['1']; //faction stump $florins = $ord_array['2'];//florins stump $era = $ord_array['3'];//era stump if (preg_match("/".$find."/m",$fil)) { $output .= '<strong>'."$name $faction $florins $era".'</strong><br>'.'<img src="./assets/images/vi/'.$filnavn.'"/><br>'; }//if }//if }//while return $output;
Vi tilbyder markedets bedste kurser inden for webudvikling