Gå til innhold

funksjon plutselig ikke fungerer...


Anbefalte innlegg

Har fått et problem jeg ikke skjønner noe som helst av! :cry:

 

Har laget en funksjon som lister opp alle måneder jeg har skrevet i bloggen min (arkiv), men nå som det er blitt august fungerer det plutselig ikke lenger...

Men fra oktober i fjor til juli i år fungerer utmerket.

 

Litt kode:

 


//For juli (og alle andre månder så langt..
print("$mnd[0]"); //gir ut "07"
print(mnd_konv($mnd[0]); //gir ut "juli"


//for august
print($mnd[0]); //gir ut 08
print(mnd_konv($mnd[0])); //gir ut "feil mnd-nr"
print(mnd_konv(08)); //gir ut "august"

 

function mnd_konv ($mnd_nr) {
switch($mnd_nr) {
 case 01 : return "Januar";
 break;
 case 02 : return "Februar";
 break;
 case 03 : return "Mars";
 break;
 case 04 : return "April";
 break;
 case 05 : return "Mai";
 break;
 case 06 : return "Juni";
 break;
 case 07 : return "Juli";
 break;
 case 08 : return "August";
 break;
 case 09 : return "September";
 break;
 case 10 : return "Oktober";
 break;
 case 11 : return "November";
 break;
 case 12 : return "Desember";
 break;
 default : return "fei mnd-nrl";
 break;
}

 

 

Noen som kan ha en ide om hvorfor det ikke fungerer med august?

 

Kan legge til at $mnd er laget ved å søke gjennom databasen etter månder som har innlegg i blokken..

Endret av EirikO
Lenke til kommentar
Videoannonse
Annonse
//for august

print($mnd[0]); //gir ut 08

print(mnd_konv($mnd[0])); //gir ut "feil mnd-nr"

print(mnd_konv(08)); //gir ut "august"

 

prøv:

print(mnd_konv(trim($mnd[0])));

 

Har en mistanke om at dataen har noen space på slutten som gjør at "08 " ikke blir riktig..

Lenke til kommentar

prøv:

print(mnd_konv(trim($mnd[0])));

 

Har en mistanke om at dataen har noen space på slutten som gjør at "08 " ikke blir riktig..

6624370[/snapback]

 

Var inne på samme tanken, men hjalp ikke med trim(). Men det må jo være noe i den retningen. Den printer jo ut 08 OG det virker når jeg skriver inn 08..

 

Prøvde nå:

if($mnd[0] == "08") { print("verdien er 08"); }; og da printer den ut.. Hvis det kan sette noen på sporet da...

 

:hmm:

Lenke til kommentar

FIKSA DET!! (Takk arnizzz)

 

Ikke skjønner jeg hva som var galt, men jeg løste det på følgende vis:

 

$mnd[0] = (int) $mnd[0];

 

Så gjorde jeg om mnd_konv slik at det står:

 

case 8 : return "August"; (Altså uten 08)

 

 

Men hvis noen kan forklare hvorfor det ikke fungerte før, blir jeg glad!!

Lenke til kommentar
function mnd_konv($input) {
$m = array(
"Jan",
"Feb",
"Mars",
"Apr",
"Mai",
"Jun",
"Jul",
"Aug",
"Sept",
"Oct",
"Nov",
"Dec",
);
if(array_key_exists(intval($input),$a)) {
 return $a[$input];
}
else {
 return "no such month";
};

EDIT: ok, så ikke at du hadde fiksa det...
};

Endret av MC2
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...