Strona startowa Ludzie pragną czasami się rozstawać, żeby móc tęsknić, czekać i cieszyć się z powrotem.Korzyci natury zdrowotnej i pedagogicznej wynikajce z powikszenia godzin zaj WF i sportu oraz intensyfikacji tych zaj, gwnie przez prowadzenie ich na wieym...wariant prby zegara polega na tym, e choremu daje si model tarczy zegarowej z ruchowymi wskazwkami (bez zaznaczonych cyfr), proszc, aby ustawi wskazwki na godzin,...- I co?- Telefonistki pracowały tam po 48 godzin, więc zakładały sobie takie pasy-piterki na brzuchy, kładły się spać, ale ktoś wciąż wykradał im kasę...Tym sposobem podejście na wysokość sześciuset metrów zajęło nam ponad cztery godziny, a wątpię aby przebyty dystans na mapie wyniósł więcej niż trzy...Dwie godziny przed świtem najdalej wysunięte placówki dały znać do ostrokołu, iż biali zbójcy schodzą do swojej łodzi...Już po kilku godzinach okazało się, że jedynym graczem miej­scowym, który wyraził chęć ubiegania się o nagrodę, był Hodża Nasreddin...wnętrznych zdarzeń w szarpaninę tęsknoty tak natarczywej, że godziny pod jej wpły- wem stawały się wieloletnimi okresami, a całe dnie były ponure,...  Czasem jednak, a szczególnie podczas sennych, ciągnących się niezmiernie wolno godzin około południa, niewiele było do oglądania...Po kilku godzinach świetlista kula zmętniała, rzucany przez nią krąg światła zmalał, zmroczniał, rozmazał się...Pacjent, który pięć godzin wcześniej otarł się o śmierć, nie poczuł się przez to ani trochę lepiej...
 

Ludzie pragną czasami się rozstawać, żeby móc tęsknić, czekać i cieszyć się z powrotem.

".".$miesiac.". anno domini ".$rok; ?>
</title>
</head>
<body>
<h1>Na tym serwerze jest godzina
<?php echo $godziny.":".$minuty.":".$sekundy; ?>
</h1>
</body>
</html>
Po uruchomieniu tego pliku w przeglądarce, czyli po wpisaniu odpowiedniego adresu
URL w polu adresowym przeglądarki, zostanie wyświetlona strona WWW, w tytule której
można przeczytać bieżącą datę. W głównym oknie przeglądarki, obok tekstu zapisanego
w formacie charakterystycznym dla nagłówka pierwszego stopnia, zostanie wyświetlona
aktualna godzina (zobacz rysunek 4.1).
Rysunek 4.1. Dane wyjściowe pliku data.php w oknie przeglądarki
Dobrze byłoby zapoznać się z procesem, który zachodzi przed wyświetleniem opisywanej
strony: serwer otrzymuje od przeglądarki żądanie przesłania dokumentu data.php i po
rozszerzeniu (.php) rozpoznaje, że danym plikiem jest plik PHP. Ładuje zatem plik ze
swojego dysku twardego do pamięci i przetwarza go w interpreterze PHP. Jak już wspo-
mniano, wykonywane są te fragmenty pliku, które znajdują się między znacznikami
<?php i ?>. Stanowią one właściwy kod programu.
Pierwsza część programu, która jest wykonywana wiersz po wierszu, składa się (obok
znaczników i komentarza) z poniższych poleceń, z których każde jest zakończone zna-
kiem średnika.
$dataiczas = getdate();
$rok = $dataiczas["year"];
$miesiac = $dataiczas["mon"];
$dzien = $dataiczas["mday"];
$godziny = $dataiczas["hours"];
$minuty = $dataiczas["minutes"];
$sekundy = $dataiczas["seconds"];
Skrypt PHP wyświetlający datę
55
Czytelnikowi, który jeszcze nigdy nie pisał programów, powyższe wiersze kodu mogą
się wydać podobne do równań poznanych na lekcjach matematyki. W równaniach także
występowały liczne zmienne. Wiadomo również, że wyrażenie znajdujące się po lewej
stronie znaku równości równało się wyrażeniu znajdującemu się po jego prawej stronie.
A zmienną nazywa się symbol, mogący przyjmować różne wartości.
Jednak mimo że wiersze kodu PHP wyglądają jak równania, wcale nimi nie są. Jest to tak
zwany operator przypisania wartości. A jego działanie jest całkiem proste.
PHP może obliczać lub. konstruować prawą stronę operatora przypisującego wartość.
Wynikiem tych obliczeń, opracowań lub procesu konstruowania jest konkretna wartość
lub złożona struktura danych.
Po lewej stronie znaku równości standardowo znajduje się zmienna. W kodzie PHP jest
ona rozpoznawana po rozpoczynającym ją znaku dolara $ (patrz: ramka Zmienne). Może
przyjmować lub przechowywać pojedyncze wartości lub też skomplikowane struktury
danych. Operator przypisuje danej zmiennej konkretną wartość lub strukturę danych, któ-
re odpowiadają wyrażeniu znajdującemu się po prawej stronie znaku równości.
Zmienna przechowuje tę wartość lub strukturę danych do momentu przypisania jej nowej
wartości (lub struktury danych) albo do zakończenia wykonywania skryptu.
W opisywanym przykładzie pierwsze polecenie wykonuje operację wywołania tzw. funk-
cji. W tym przypadku jest to funkcja getdate(), będąca jedną z wielu funkcji wbudowa-
nych w PHP. Funkcje zostaną dokładniej omówione nieco później. W tym momencie wystarczy zapamiętać, że funkcja w kodzie PHP — po jej wykonaniu — zawsze zastę-
powana jest zwracaną przez nią wartością.
Funkcja getdate() zwraca tzw. tablicę asocjacyjną (array) do interpretera PHP. Tablica
tego typu jest przykładem nieco bardziej kompleksowej struktury danych. Za chwilę opiszemy ją nieco dokładniej. W prezentowanym poleceniu przypisującym wartość najpierw zapisano tablicę w zmiennej PHP $dataiczas. W ten sposób zmienna $dataiczas
sama staje się tablicą asocjacyjną.
Tablica asocjacyjna przechowuje wartości danych każdorazowo pod tzw. kluczem (key).
Dzięki większej liczbie kluczy można w jednej tablicy (a zatem w jednej zmiennej) prze-
chowywać dowolną ilość danych. Klucz może składać się z dowolnego ciągu znaków
(string). W opisywanym przypadku funkcja getdate() sprawia, że pod kluczem hours
jest przechowywana liczba oznaczająca aktualną godzinę, a pod kluczem mday — dany
dzień miesiąca (np. 23). W zasadzie sprawa jest prosta, czyż nie?
Być może Czytelnik zastanawia się, w jaki jednak sposób wydobyć konkretne wartości
z tablicy asocjacyjnej? O tym za chwilę. Dla wygody interesujące wartości tablicy zapisuje się w pojedynczych zmiennych ($rok, $miesiac itd.). Dzięki temu nie trzeba później odwoływać się do asocjacyjnej składni tablicy.
56
Rozdział 4. Wstęp do programowania: proste skrypty PHP
Polecenia, które powodują przekopiowanie wartości tablicy do pojedynczych zmiennych,
ilustrują odpowiednią składnię tablicy, np. w poleceniu: