Trådstart 21 feb. 2003 09:15 #1 Hej!
Jag har denna kod.
$frekvens läses in från en textfil med:
$frekvens = fread($open_file, filesize($filename3));
(så jag antar att den räknas som en char?)
Mitt problem är att om $frekvens är en siffra, tex 4, så blir $nrDaysLeft 7 och inte 4 såsom dig bör.
(om $frekvens är en veckodag, då funkar det, då får $nrDaysLeft 7)
if($frekvens == "Monday" || "Tuesday" || "Wednesday" || "Thursday" || "Friday" || "Saturday" || "Sunday"){
$nrDaysLeft=7;
}
else if($frekvens == 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14){
$nrDaysLeft=$frekvens;
}
S sanke Medlem sedan feb. 2003 27 inlägg <?if(!is_numeric($frekvens)){
$nrDaysLeft=7;
}
else if($frekvens == 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14){
$nrDaysLeft=$frekvens;
}?>
<?=$nrDaysLeft?>
Matte Medlem sedan aug. 2000 2 975 inlägg När man hämtar från textfiler kan det ibland komma med lite dolda tecken som kan stöka till det vid jämförelser. Dessa tecken kan man rensa bort med trim().
$frekvens = trim(fread($open_file, filesize($filename3)));
Sen känner jag mig tveksam till dina if-satser. Som jag har lärt mig, och har heller inte sett något annat, så ska du skriva:
if($frekvens == "Monday" || $frekvens == "Tuesday" || $frekvens == "Wednesday" ...){
Själv skulle jag gjort så här:
$days = array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday");
$numbers = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14);
$frekvens = trim(fread($open_file, filesize($filename3)));
if (in_array($frekvens, $days)) {
$nrDaysLeft=7;
} elseif (in_array($frekvens, $numbers)) {
$nrDaysLeft=$frekvens;
}
Tack för hjälpen båda, nu verkar det funka. Tog Mattes lösning denna gången.