Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Skrypt - Data z polskimi nazwami miesciąca.
#1
Exclamation 
Witam, na tym forum jestem nowy, jak i jestem nowy jeśli chodzi o programowanie w PHP, aczkolwiek coś, niecoś już potrafię.

Stworzyłem na szybko taki skrypcik, który wyświetla dzisiejszą datę wraz z polskimi nazwami miesiąca.

Kod PHP:
<?php

function Data() {

 
$month date('m');

 if (
$month == 1) echo 'Styczeń';
 if (
$month == 2) echo 'Luty';
 if (
$month == 3) echo 'Marzec';
 if (
$month == 4) echo 'Kwiecień';
 if (
$month == 5) echo 'Maj';
 if (
$month == 6) echo 'Czerwiec';
 if (
$month == 7) echo 'Lipiec';
 if (
$month == 8) echo 'Sierpień';
 if (
$month == 9) echo 'Wrzesień';
 if (
$month == 10) echo 'Październik';
 if (
$month == 11) echo 'Listopad';
 if (
$month == 12) echo 'Grudzień';

}

echo 
date('d')." ";
echo 
Data().", ".date('Y')."r.";

?>

Napisałem go na if'ach i mam pytanko, czy mogę go jakoś 'zminimalizować', np. Co mogę poprawić, jakiej funkcji użyć, słyszałem, że ktoś robił kiedyś coś podobnego używając tablic, ale nie jestem pewien, czy nie była to wtedy sprawa JS.

Z góry dzięki, Łukasz.
Odpowiedz
#2
Kod PHP:
$miesiac = array('01'=>'Styczeń''02'=>'Luty' ... );
print 
$miesiac[date('m')]; 
Odpowiedz
#3
Wielkie dzięki, czyli dobrze mówiłem o tych tablicach Smile

Odchudziłem plik o całe 176 bajtów.

Kod PHP:
<?php

function Data() {

$month = array(
 
'01' => 'Styczeń'
 
'02' => 'Luty',
 
'03' => 'Marzec',
 
'04' => 'Kwiecień',
 
'05' => 'Maj',
 
'06' => 'Czerwiec',
 
'07' => 'Lipiec',
 
'08' => 'Sierpień',
 
'09' => 'Wrzesień',
 
'10' => 'Październik',
 
'11' => 'Listopad',
 
'12' => 'Grudzień');

return 
$month[date('m')];

}

print 
date('d ');
print 
Data();
print 
date(' Y')."r."

?>
Odpowiedz
#4
Czy z funkcji nie powinieneś dawać return przypadkiem, a nie echo? Wink
Odpowiedz
#5
Powinienem Smile

To całe 2 bajty pamięci więcej.. ;/
Odpowiedz
#6
Można to zrobić i bez tablic
Kod:
setlocale(LC_ALL, 'polish'); //dla Windows
setlocale(LC_ALL, 'pl_PL'); //Dla Linuxa
echo strftime('%B');
Poczytaj o formatowaniu dat funkcją strftime na http://us2.php.net/manual/en/function.strftime.php
Odpowiedz
#7
Nie musisz przypisywać indeków każdemu miesiącowi. Tablice zrobią to za Ciebie.
Kod:
<?php
    $miesiac = array('Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień');
      echo $miesiac[date('n') - 1 ];
?>
Odpowiedz
#8
pamiętaj że funkcja print jest nieco wolniejsza od funkcji echo
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [PHP] Skrypt AzDGDatingMedium - nie idzie się rejestrować krysek76 0 2,337 15-05-2017, 23:42
Ostatni post: krysek76
  Skrypt wyszukiwania Robert 33 1 4,262 14-04-2014, 22:22
Ostatni post: Engine
  Skrypt Logowania oraz rejestracji z kodowaniem w SHA265 Tehiro 0 2,011 23-06-2013, 18:06
Ostatni post: Tehiro
  [PHP] Informowanie o cookies - skrypt krysek76 0 2,172 29-04-2013, 15:08
Ostatni post: krysek76
  Skrypt rozpoznający cenę kodu DotPay Extragracz 2 3,320 30-01-2013, 22:22
Ostatni post: Extragracz

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl