Gå til innhold

En array nekter å funke, hvorfor?


Anbefalte innlegg

Hei.

 

Jeg holder nå på med et stort prosjekt og skal lage en dato-klasse. Meningen med klassen er at funksjonen current_date_no() skal gi meg datoen på norsk format, mens current_date_en() skal gi meg dato på engelsk format.

 

Her er det jo dagene som spiller den største forskjellen, og problemet kommer inn når jeg skal hente ut for eksempel $months[3]. Ingenting kommer rett og slett opp, datoen funker fint, men "mars" kommer ikke opp fra arrayet.

 

Hva er galt i koden min?

 

  function current_date_no() {
 	
 	$months = array("januar" => 01,"februar" => 02,"mars" => 03,"april" => 04,"mai" => 05,"juni" => 06, "juli" => 07,"august" =>08,"september" => 09, "november" => 10,"oktober" => 11,"desember" => 12);
 	
 	$days = array("mandag" => 01,"tirsdag" => 02,"onsdag" => 03,"torsdag" => 04,"fredag" => 05, "lørdal" => 06,"søndag" => 07);
 	
 	$month_nr = date("m");
 	
 	echo $months['01'];
 	
 	$current_date = date("d.")." ".$months[$month_nr]." ".date("Y").", ".date("G:i:s");
 	return $current_date;
 }

 

Mvh, pavlion

Endret av pavlion
Lenke til kommentar
Videoannonse
Annonse
Hei.

 

Jeg holder nå på med et stort prosjekt og skal lage en dato-klasse. Meningen med klassen er at funksjonen current_date_no() skal gi meg datoen på norsk format, mens current_date_en() skal gi meg dato på engelsk format.

 

Her er det jo dagene som spiller den største forskjellen, og problemet kommer inn når jeg skal hente ut for eksempel $months[3]. Ingenting kommer rett og slett opp, datoen funker fint, men "mars" kommer ikke opp fra arrayet.

 

Hva er galt i koden min?

 

  function current_date_no() {
 	
 	$months = array("januar" => 01,"februar" => 02,"mars" => 03,"april" => 04,"mai" => 05,"juni" => 06, "juli" => 07,"august" =>08,"september" => 09, "november" => 10,"oktober" => 11,"desember" => 12);
 	
 	$days = array("mandag" => 01,"tirsdag" => 02,"onsdag" => 03,"torsdag" => 04,"fredag" => 05, "lørdal" => 06,"søndag" => 07);
 	
 	$month_nr = date("m");
 	
 	echo $months['01'];
 	
 	$current_date = date("d.")." ".$months[$month_nr]." ".date("Y").", ".date("G:i:s");
 	return $current_date;
 }

5770811[/snapback]

 

mhm.. .prøv å skriv echo $months['januar'] og se hva du får du da :)

 

du må snu $months arrayen din $months = array ( 1=>"januar", 2=> osv..

 

men hvorfor ikke bruke denne:

 

setlocale(LC_TIME, 'no_NO'); // prøv først uten denne linje, hvis serveren er i norge

print strftime( "%d %B %Y");

 

EDIT: kanskje denne skulle i PHP forumet?

 

i stede for 'no_NO' kan det også være 'norwegian' , 'nynorsk' eller kanskje 'bokmal'

Endret av trondes
Lenke til kommentar
Okei, men setlocale setter vel resten av siden i norsk format også?

 

Systemet skal være så mye tilpasset utenlandske brukere som mulig også :)

5770936[/snapback]

tja, du kan jo stille den tilbake når du erferdig med den.

 

den blir jo automatisk stilt tilbake ved neste kjøring.

 

Hvis du bruker LC_TIME er det bare dato og tid du stiller

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...