Witam!
Stworzyłem sobie plik format_daty.php, który po 'zaincludowaniu' do innych ma podstawiać w miejsce numeru miesiąca lub dnia jego pełną nazwę. Na tym tylko ma polegać jego praca, ale nie działa - wyrzuca taki błąd:
Parse error: Invalid numeric literal in ....\format_daty.php on line 50
Można go naprawić wstawiając liczby w wierszach 50 i 53 w apostrof lub cudzysłów. Wtedy działa jak należy.
Moje pytanie brzmi: Dlaczego akurat 08 i 09 musi być w apostrofach, natomiast pozostałe liczby nie powodują komplikacji? Dlaczego mój switch() nie lubi 08 i 09, co złego jest w tych liczbach? Wykomentowanie tych fragmentów także sprawia, że nie pojawia się żaden błąd (oczywiście zamiana 08 i 09 wtedy nie działa).
Ps.
Dodam, że całość testowałem tylko w XAMPP'ie (na localhost) - nie wiem, czy na 'pełnowartościowym' serwerze też tak będzie się działo.
A oto kod:
<?php
switch ($nazwa_dnia)
{
case 1:
$nazwa_dnia = "Poniedziałek";
break;
case 2:
$nazwa_dnia = "Wtorek";
break;
case 3:
$nazwa_dnia = "Środa";
break;
case 4:
$nazwa_dnia = "Czwartek";
break;
case 5:
$nazwa_dnia = "Piątek";
break;
case 6:
$nazwa_dnia = "Sobota";
break;
case 0:
$nazwa_dnia = "Niedziela";
break;
}
switch ($nazwa_miesiaca) {
case 01:
$nazwa_miesiaca = "Styczeń";
break;
case 02:
$nazwa_miesiaca = "Luty";
break;
case 03:
$nazwa_miesiaca = "Marzec";
break;
case 04:
$nazwa_miesiaca = "Kwiecień";
break;
case 05:
$nazwa_miesiaca = "Maj";
break;
case 06:
$nazwa_miesiaca = "Czerwiec";
break;
case 07:
$nazwa_miesiaca = "Lipiec";
break;
case 08:
$nazwa_miesiaca = "Sierpień";
break;
case 09:
$nazwa_miesiaca = "Wrzesień";
break;
case 10:
$nazwa_miesiaca = "Październik";
break;
case 11:
$nazwa_miesiaca = "Listopad";
break;
case 12:
$nazwa_miesiaca = "Grudzień";
break;
}
?>