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;
}
sankeMedlem sedan feb. 200327 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?>
MatteMedlem sedan aug. 20002 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.