Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 24 kwietnia 2026 14:16
  • Data zakończenia: 24 kwietnia 2026 14:27

Egzamin zdany!

Wynik: 27/40 punktów (67,5%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Do uruchomienia kodu napisanego w języku PHP konieczne jest posiadanie w systemie

A. serwera WWW, parsera PHP oraz bazy danych MySQL
B. przeglądarki internetowej
C. serwera WWW z interpreterem PHP
D. serwera WWW z bazą danych MySQL
Pierwsza z niepoprawnych odpowiedzi sugeruje, że wystarczy zainstalować przeglądarkę internetową do uruchamiania kodu PHP. To podejście jest błędne, ponieważ przeglądarki internetowe są narzędziami do wyświetlania zawartości HTML i nie mają zdolności do interpretowania skryptów PHP. PHP musi być przetwarzany na serwerze, a przeglądarka jedynie odbiera już przetworzone dane. Kolejna niepoprawna odpowiedź wskazuje na konieczność posiadania serwera WWW wraz z serwerem MySQL. Chociaż MySQL jest popularnym systemem zarządzania bazami danych używanym w połączeniu z PHP, nie jest on niezbędny do uruchamiania samych skryptów PHP, zwłaszcza w sytuacjach, gdy aplikacja nie korzysta z bazy danych. Ostatnia z niepoprawnych odpowiedzi odnosi się do potrzeby posiadania serwera WWW, parsera PHP oraz serwera MySQL. Choć jest to podejście bardziej kompleksowe, to znowu, do uruchomienia kodu PHP wystarczy jedynie serwer WWW z interpreterem PHP. MySQL jest opcjonalny i wykorzystywany tylko wtedy, gdy aplikacja wymaga interakcji z bazą danych. Wnioskując, aby uruchomić kod PHP, kluczowym elementem jest serwer WWW z interpreterem PHP, co czyni inne odpowiedzi niepoprawnymi w kontekście podstawowych wymagań.

Pytanie 2

Ile razy zostanie wykonana pętla w języku PHP, jeśli zmienna kontrolna pozostaje niezmienna podczas działania pętli?

for($i=0; $i<=10; $i++) {
        .......
}
A. 10
B. 11
C. Nieskończoność
D. 0
Pętla for w języku PHP, zapisana jako for($i=0; $i<=10; $i++), będzie miała 11 iteracji ponieważ warunek $i<=10 pozwala na wykonanie pętli aż do momentu gdy $i wynosi 10 włącznie. Pętla zaczyna się od wartości 0 dla zmiennej $i i zwiększa jej wartość o 1 w każdej iteracji. Ponieważ warunek końcowy dopuszcza wartość 10 pętla wykona się dla wartości 0 1 2 3 4 5 6 7 8 9 i 10 co daje łącznie 11 iteracji. Tego typu pętla jest często wykorzystywana do iteracyjnego przetwarzania elementów tablic czy generowania sekwencji liczb. Jest to zgodne ze standardowymi praktykami programistycznymi gdzie pętle for są używane do iteracji tam gdzie liczba kroków jest z góry znana. Znajomość podstawowych struktur iteracyjnych takich jak pętla for jest kluczowa w efektywnym programowaniu i umożliwia tworzenie czytelnego i efektywnego kodu. Ważne jest też aby odpowiednio definiować warunki początkowe i końcowe oraz krok iteracji zgodnie z zamierzonym działaniem algorytmu aby uniknąć nieskończonych pętli lub błędów logicznych wynikających z niewłaściwie ustawionych warunków.

Pytanie 3

Jakie wyrażenie logiczne w języku PHP weryfikuje, czy zmienna1 znajduje się w jednostronnie domkniętym przedziale <-5, 10)?

A. $zmienna1 >= -5 || $zmienna1 < 10
B. $zmienna1 >= -5 && $zmienna1 < 10
C. $zmienna1 <= -5 && $zmienna1 < 10
D. $zmienna1 <= -5 || $zmienna1 < 10
Odpowiedź $zmienna1 >= -5 && $zmienna1 < 10 jest poprawna, ponieważ odpowiada definicji jednostronnie domkniętego przedziału, który obejmuje wartość -5 oraz wszystkie wartości większe, ale nie obejmuje wartości 10. Operator && (AND) jest używany do jednoczesnego sprawdzania dwóch warunków: pierwszy warunek ($zmienna1 >= -5) zapewnia, że zmienna jest większa lub równa -5, a drugi warunek ($zmienna1 < 10) sprawdza, czy zmienna jest mniejsza niż 10. W praktyce, taki zapis jest istotny w aplikacjach, gdzie ograniczamy zakres wartości dla zmiennych, na przykład w formularzach walidacji danych wejściowych. Dzięki temu możemy uniknąć błędów, które mogą wystąpić w przypadku niepoprawnych danych. Ponadto, stosowanie operatorów logicznych w PHP jest zgodne z najlepszymi praktykami programowania, jak na przykład dbałość o czytelność kodu oraz jego łatwość w utrzymaniu. Warto także pamiętać o testowaniu skrajnych wartości, aby upewnić się, że nasze warunki działają zgodnie z oczekiwaniami.

Pytanie 4

Do czego służy funkcja PHP o nazwie mysql_num_rows?

A. przyporządkować numery rekordom w bazie danych
B. podawać liczbę wierszy, które są w wynikach zapytania
C. oddawać następny rekord z wyników zapytania
D. zwracać rekord, którego numer został przekazany jako parametr funkcji
Funkcja mysql_num_rows w PHP jest kluczowym narzędziem do interakcji z bazami danych MySQL, umożliwiając programistom efektywne zarządzanie danymi. Jej głównym zadaniem jest zwrócenie liczby wierszy, które zostały zwrócone w wyniku zapytania SQL. Jest to niezwykle przydatne w sytuacjach, gdy chcemy ocenić, ile rekordów spełnia określone kryteria, co może być istotne na przykład w przypadku paginacji wyników lub dynamicznego dostosowywania interfejsu użytkownika w zależności od liczby dostępnych danych. Użycie tej funkcji polega na przesłaniu do niej wskaźnika na wynik zapytania, co pozwala na bezpośrednie uzyskanie liczby wierszy bez konieczności przeszukiwania danych. Przykładowo, po wykonaniu zapytania SELECT, aby uzyskać liczbę wierszy, wystarczy użyć: $result = mysql_query('SELECT * FROM tabela'); $liczba_wierszy = mysql_num_rows($result);. Funkcja ta jest zgodna z wytycznymi dotyczącymi standardów SQL i jest szeroko stosowana w aplikacjach webowych, które wymagają efektywnego przetwarzania danych. Należy jednak pamiętać, że mysql_num_rows jest częścią przestarzałego rozszerzenia MySQL, a programiści powinni rozważyć użycie mysqli lub PDO, które oferują lepszą obsługę i bezpieczeństwo.

Pytanie 5

Jakie oznaczenie wykorzystuje się do jednoliniowego komentarza w skryptowym języku PHP?

A. #
B. $
C. /*
D. --
Oznaczenie jednoliniowego komentarza w języku PHP realizuje się za pomocą znaku '#'. Komentarze są niezwykle ważnym elementem kodu, ponieważ pozwalają programistom na dodawanie wyjaśnień, notatek lub przypomnień dotyczących implementacji. Umożliwiają one innym programistom (lub nawet samym sobie w przyszłości) zrozumienie kontekstu i logiki stosowanych rozwiązań. Przykładowo, można umieścić komentarz w kodzie w taki sposób: '# To jest komentarz, który wyjaśnia, co robi poniższy kod'. Warto pamiętać, że stosowanie komentarzy zgodnie z najlepszymi praktykami programowania zwiększa czytelność kodu oraz ułatwia jego utrzymanie. PHP pozwala również na stosowanie komentarzy wieloliniowych z użyciem znaków '/* ... */', jednak w przypadku komentarzy jednoliniowych preferowanym podejściem jest użycie znaku '#', szczególnie w kontekście prostych, krótkich notatek. Przykład: echo 'Hello World!'; # Ta linia wyświetla powitanie.

Pytanie 6

Plik cookie utworzony przedstawionym poleceniem PHP:

setcookie("osoba", "Anna Kowalska", time() + (3600 * 24));
A. wygaśnie po jednej dobie od jego utworzenia.
B. będzie przechowywany na serwerze przez jedną dobę.
C. wygaśnie po jednej godzinie od jego utworzenia.
D. będzie przechowywany na serwerze przez jedną godzinę.
W tym poleceniu PHP funkcja setcookie() dostaje jako trzeci parametr czas wygaśnięcia ciasteczka w postaci znacznika czasu UNIX (timestamp). Wyrażenie time() + (3600 * 24) oznacza: aktualny czas serwera (time()) powiększony o 3600 sekund (czyli jedną godzinę) razy 24, co razem daje 86400 sekund, czyli dokładnie jedną dobę. Przeglądarka zapisuje to jako tzw. cookie trwałe (persistent cookie) i będzie je przechowywać do momentu osiągnięcia tego czasu. Po upływie doby od utworzenia, przeglądarka automatycznie przestanie wysyłać to cookie w nagłówkach HTTP do serwera. To jest ważne: cookie jest przechowywane po stronie klienta, czyli w przeglądarce użytkownika, a nie na serwerze. Serwer tylko wysyła nagłówek Set-Cookie w odpowiedzi HTTP. W praktyce takie ustawienie przydaje się np. do zapamiętania imienia użytkownika, preferencji językowych, koszyka w prostym sklepie albo ustawień wyglądu strony na krótki czas, np. na jedną dobę. Moim zdaniem warto zapamiętać, że brak trzeciego parametru w setcookie() oznacza cookie sesyjne (kasowane po zamknięciu przeglądarki), a podanie konkretnego timestampu tworzy cookie, które ma określoną datę wygaśnięcia. Dobrą praktyką jest zawsze świadomie dobierać czas życia ciasteczek: dane wrażliwe powinny mieć raczej krótki czas ważności, a informacje czysto techniczne lub preferencje interfejsu mogą być przechowywane dłużej. W nowoczesnych aplikacjach webowych łączy się to też z innymi atrybutami cookie (Secure, HttpOnly, SameSite), ale sam mechanizm czasu wygaśnięcia pozostaje taki sam – jest to po prostu liczba sekund od epoki UNIX, kiedy cookie przestanie być uznawane za ważne.

Pytanie 7

Funkcja zapisana w języku PHP wygląda tak patrz ramka): Jej celem jest

Ilustracja do pytania
A. zwrócenie wartości 0, gdy liczba jest parzysta
B. wypisanie liczby nieparzystej
C. wypisanie liczby parzystej
D. zwrócenie wartości 1, gdy liczba jest parzysta
Funkcja w języku PHP opisana na egzaminie służy do sprawdzania czy podana liczba jest parzysta. Wybór zwracanych wartości 1 i 0 jest klasycznym przykładem użycia binarnych wartości logicznych w programowaniu. Niektóre niepoprawne odpowiedzi mogą wynikać z błędnego zrozumienia działania operatora modulo %. Operator ten oblicza resztę z dzielenia i w przypadku operacji liczb całkowitych przydaje się do określania parzystości. Jeśli liczba jest podzielna przez 2 bez reszty czyli modulo zwraca 0 funkcja zwraca 1 co oznacza że liczba jest parzysta. Niektóre odpowiedzi sugerują że funkcja zwraca lub wypisuje liczby parzyste bądź nieparzyste co jest błędnym rozumieniem działania funkcji zwracającej wartości w kontekście operacji logicznych. Kluczowe jest zrozumienie że funkcje zwracają wartości a nie wypisują ich w przypadku takich jak ten gdzie celem jest jedynie sprawdzenie a nie wyświetlenie wartości. Wybór wartości zwracanych 1 i 0 jest także zgodny z konwencjami logicznymi stosowanymi w warunkowych instrukcjach programistycznych co może być mylnie postrzegane jako konieczność wyświetlenia wyniku. Ważne jest aby pamiętać że w programowaniu logiczne zwracanie wartości jest często używane do późniejszego wykorzystania przez inne części aplikacji w celu podejmowania decyzji lub sterowania przepływem programu. Zrozumienie tych podstawowych zasad pozwala uniknąć błędnych interpretacji i wykorzystać pełnię możliwości jakie daje programowanie w językach takich jak PHP.

Pytanie 8

W PHP typ float oznacza

A. typ łańcuchowy
B. typ logiczny
C. typ zmiennoprzecinkowy
D. typ całkowity
Zrozumienie różnych typów danych w PHP jest kluczowe dla programistów, a mylenie typów może prowadzić do błędnych założeń. W przypadku odpowiedzi sugerujących, że float reprezentuje typ logiczny, całkowity lub łańcuchowy, warto przyjrzeć się definicjom tych typów. Typ logiczny w PHP ogranicza się do wartości prawda/fałsz (true/false), co jest zupełnie inną koncepcją niż liczby zmiennoprzecinkowe. Typ całkowity, z kolei, dotyczy liczb całkowitych, które nie mają części dziesiętnej, co wyklucza możliwość reprezentowania wartości takich jak 1.5 czy 3.14. Typ łańcuchowy oznacza ciągi znaków, które również nie mogą być używane do reprezentacji liczby zmiennoprzecinkowej. Tego rodzaju pomyłki często wynikają z niezrozumienia podstawowych różnic między typami danych oraz ich zastosowaniem. W praktyce, używanie niewłaściwego typu danych, jak np. całkowity zamiast zmiennoprzecinkowego, może prowadzić do niepoprawnych obliczeń w aplikacjach. Na przykład, obliczając średnią ocen studentów, stosowanie typu całkowitego dla wartości, które naturalnie są liczbami zmiennoprzecinkowymi, doprowadzi do utraty precyzji, co z czasem może mieć istotny wpływ na wyniki analiz. Kluczowe jest, aby programiści dokładnie rozumieli, jak różne typy danych działają w PHP i jak ich niewłaściwe użycie wpływa na działanie aplikacji.

Pytanie 9

Jak można zaznaczyć komentarz w kodzie PHP?

A. /* … */
B. <!-- …. -->
C. <? … ?>
D. /? … ?/
Komentarze w kodzie PHP można umieszczać za pomocą znaków /* … */. Jest to standardowy sposób na dodawanie notatek, które są ignorowane przez interpreter PHP. Komentarze wieloliniowe są szczególnie przydatne w przypadku, gdy chcemy opisać większe fragmenty kodu lub wyłączyć sekcje kodu bez ich usuwania. Na przykład, możemy umieścić w komentarzach informacje o autorze, dacie powstania lub szczegóły dotyczące funkcjonalności danej funkcji. Dobrą praktyką jest również dokumentowanie ważnych informacji dotyczących zmiennych czy parametrów funkcji, co ułatwia przyszłą konserwację kodu. Warto pamiętać, że użycie komentarzy jest kluczowe w pracy zespołowej lub w projektach długoterminowych, gdzie zrozumienie kodu przez innych programistów może być kluczowe dla sukcesu projektu. Ponadto, stosowanie komentarzy zgodnie z dobrymi praktykami programowania zwiększa czytelność kodu i ułatwia jego późniejsze modyfikacje oraz debugowanie.

Pytanie 10

W języku PHP do zmiennej a przypisano tekst, w którym słowo Kowalski pojawia się wielokrotnie. Aby jednym poleceniem zamienić wszystkie wystąpienia słowa Kowalski na słowo Nowak, trzeba użyć polecenia

A. $a = str_rep('Kowalski','Nowak',$a);
B. $a = str_replace('Kowalski','Nowak',$a);
C. $a = str_replace('Nowak', 'Kowalski',$a);
D. $a = str_replace('Nowak','Kowalski');
Odpowiedź jest prawidłowa, ponieważ funkcja str_replace w PHP jest przeznaczona do zastępowania wszystkich wystąpień określonego ciągu znaków innym ciągiem w danym tekście. W tym przypadku, używając str_replace('Kowalski','Nowak',$a), zmieniamy każde wystąpienie słowa 'Kowalski' na 'Nowak' w zmiennej a. Działa to dla wszystkich instancji, co czyni to podejście bardzo efektywnym w przypadkach, gdy musimy dokonać masowych zmian w tekstach. Jest to dobra praktyka, aby używać str_replace do takich operacji, ponieważ jest to funkcja wbudowana, zoptymalizowana pod kątem wydajności i czytelności kodu. Warto również pamiętać, że pierwszym parametrem jest ciąg, który chcemy zastąpić, drugim jest ciąg, na który go zamieniamy, a trzecim jest tekst, w którym dokonujemy zmiany. Zastosowanie tej funkcji jest powszechne w wielu zastosowaniach, na przykład w systemach CMS, gdzie często zachodzi potrzeba masowej edycji treści.

Pytanie 11

W PHP, przy wykonywaniu działań na bazie danych MySQL, aby zakończyć sesję z bazą, należy użyć

A. mysqli_rollback();
B. mysqli_close();
C. mysqli_exit();
D. mysqli_commit();
Podejście polegające na używaniu funkcji mysqli_exit() jest błędne, ponieważ taka funkcja nie istnieje w kontekście rozwiązań MySQL w PHP. Oprócz tego, wywołanie mysqli_commit() nie jest właściwą odpowiedzią, gdyż ta funkcja służy do potwierdzania transakcji, a nie do zamykania połączenia. Transakcje w MySQL są kluczowe dla zapewnienia integralności danych, ale ich zakończenie nie jest równoznaczne z zakończeniem połączenia. Z kolei funkcja mysqli_rollback() jest używana do wycofywania transakcji, co także nie dotyczy zamykania połączeń. Te nieprawidłowe odpowiedzi mogą wynikać z nieporozumienia dotyczącego ról poszczególnych funkcji w kontekście zarządzania transakcjami oraz połączeniami. Typowym błędem myślowym jest mylenie zamykania połączenia z zarządzaniem transakcjami; to dwa odrębne aspekty interakcji z bazą danych. Użytkownicy mogą błędnie zakładać, że każda funkcja związana z bazą danych ma na celu ich zamykanie, co prowadzi do niepoprawnych wniosków. Dlatego kluczowe jest zrozumienie różnicy pomiędzy zarządzaniem połączeniami a zarządzaniem transakcjami, co jest fundamentem efektywnej pracy z bazami danych w PHP.

Pytanie 12

W języku PHP, po wykonaniu poniższego fragmentu kodu, w zmiennej o nazwie Nowy_Napis uzyskamy

Ilustracja do pytania
A. zAwSZe sPrAwDz SWOJ kOd
B. ZaWszE
C. zawsze sprawdz swoj kod
D. ZAWSZE SPRAWDZ SWOJ KOD
Funkcja strtolower w PHP służy do konwersji ciągu znaków na małe litery. W podanym przykładzie zmienna Napis zawiera wartość ZaWsze SpRaWdZ swoj KoD, która jest mieszanką wielkich i małych liter. Po zastosowaniu funkcji strtolower do tej zmiennej, wynikowy ciąg zostaje przetworzony tak, że wszystkie litery są zamieniane na małe. Dlatego w zmiennej Nowy_Napis znajdzie się tekst zawsze sprawdz swoj kod. Użycie strtolower jest częste, gdy chcemy ujednolicić dane tekstowe, np. porównując adresy email czy nazwy użytkowników, aby uniknąć rozróżnienia wielkości liter. Jest to zgodne z dobrą praktyką programistyczną, która polega na zapewnieniu spójności danych poprzez ich normalizację. W kontekście aplikacji webowych często stosuje się tę funkcję do przetwarzania danych wejściowych od użytkowników, aby uzyskać jednolite formatowanie i uniknąć potencjalnych błędów przy wyszukiwaniu lub porównywaniu danych. Praktyczne zastosowanie tej funkcji ułatwia zarządzanie danymi i upraszcza logikę biznesową aplikacji.

Pytanie 13

Jeśli zmienna $x przechowuje dowolną dodatnią liczbę naturalną, przedstawiony kod źródłowy PHP ma za zadanie wyświetlić:

$licznik = 0;
while ($licznik != $x)
{
    echo $licznik;
    $licznik++;
}
A. kolejne liczby od x do 0
B. kolejne liczby od 0 do x-1
C. losowe liczby z przedziału (0, x)
D. liczby wczytywane z klawiatury, tak długo aż zostanie wczytana wartość x
Niektóre odpowiedzi sugerują niepoprawne interpretacje kodu PHP. Na przykład, propozycja wyświetlenia losowych liczb z zakresu (0, x) nie jest prawidłowa, ponieważ nie ma w kodzie żadnego komponentu generującego liczby losowe. Również pomysł na wczytywanie liczb z klawiatury jest nieprawidłowy, kod nie zawiera żadnej funkcji umożliwiającej wprowadzanie danych przez użytkownika. Ostatecznie, propozycja wyświetlenia liczb od x do 0 również jest błędna, gdyż zmienna $licznik jest zawsze inkrementowana, co oznacza, że jej wartość zawsze wzrasta. Błędne interpretacje wynikają z niewłaściwego zrozumienia funkcjonowania pętli while oraz procesu inkrementacji zmiennych. Ważne jest, aby zawsze dokładnie analizować każdy fragment kodu, zwracając szczególną uwagę na instrukcje warunkowe i manipulacje zmiennymi.

Pytanie 14

W języku PHP znak "//" wskazuje na

A. początek skryptu
B. początek komentarza jednoliniowego
C. operator dzielenia całkowitego
D. operator alternatywny
W języku PHP znak '//' oznacza początek komentarza jednoliniowego. Komentarze w PHP są istotnym elementem kodu, pozwalającym programistom na dodawanie adnotacji, które nie wpływają na wykonywanie skryptu. Komentarze są niezwykle pomocne, gdyż umożliwiają wyjaśnienie złożonych fragmentów kodu, co ułatwia jego dalsze utrzymanie i rozwijanie. Dzięki używaniu '//', programista może opisać, co dany fragment kodu robi, dla siebie lub innych osób przeglądających kod w przyszłości. Przykład zastosowania: jeśli mamy kod 'echo "Hello World!";', możemy dodać komentarz wyjaśniający: '// Wyświetla tekst Hello World!'. Warto zaznaczyć, że PHP pozwala także na korzystanie z komentarzy wieloliniowych, które zaczynają się od '/**' i kończą na '*/'. Stosowanie komentarzy jest zgodne z najlepszymi praktykami programistycznymi, które zalecają dokumentowanie kodu oraz poprawne jego komentowanie, co jest częścią standardów kodowania, takich jak PSR-1 oraz PSR-2, promujących czytelność i spójność w kodzie.

Pytanie 15

Mamy do czynienia z tablicą o nazwie tab, która zawiera liczby całkowite różniące się od zera. Zawarty w języku PHP kod ma na celu:

foreach ($tab as &$liczba)
    $liczba = $liczba * (-1);
unset($liczba);
A. obliczyć wartość bezwzględną elementów tej tablicy
B. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
C. przekształcić elementy tablicy na wartości zapisane w zmiennej liczba
D. wyliczenie iloczynu wszystkich wartości w tablicy
Odpowiedź jest prawidłowa, ponieważ przedstawiony kod w języku PHP używa pętli foreach do iteracji po tablicy o nazwie tab. Dzięki zastosowaniu operatora & przed nazwą zmiennej $liczba, zmienna ta jest przekazywana przez referencję. Oznacza to, że każda modyfikacja dokonywana na zmiennej $liczba wpływa bezpośrednio na odpowiedni element tablicy. Wewnątrz pętli każda liczba w tablicy jest mnożona przez -1, co skutkuje zmianą jej znaku na przeciwny. W praktyce taka operacja jest powszechnie stosowana, gdy istnieje potrzeba szybkiej zmiany wszystkich wartości w strukturze danych na ich negatywne odpowiedniki, na przykład w algorytmach matematycznych lub finansowych. Istotnym aspektem jest również unikanie modyfikacji oryginalnych danych, co jest kluczowe w procesie przetwarzania danych. Po zakończeniu pętli unset($liczba) usuwa referencję, aby uniknąć niepożądanych efektów ubocznych. Takie podejście jest zgodne z dobrymi praktykami programowania, które kładą nacisk na zarządzanie pamięcią i poprawność danych.

Pytanie 16

W PHP, aby stworzyć obiekt pkt dla klasy Punkt, której definicja znajduje się poniżej, należy użyć polecenia

class Punkt {
  public $x;
  public $y;
}
A. pkt Punkt();
B. pkt = new Punkt();
C. Punkt() pkt;
D. pkt Punkt;
Podczas tworzenia obiektów w PHP kluczowe jest zrozumienie składni i logiki stojącej za deklaracjami obiektów. Problemem w błędnych odpowiedziach jest brak użycia słowa kluczowego new, które jest niezbędne do prawidłowego utworzenia obiektu. Składnia pkt Punkt() sugeruje próbę użycia nazwy klasy jako funkcji, co nie jest poprawne w kontekście PHP. PHP wymaga wyraźnego wskazania, że chcemy utworzyć nową instancję klasy za pomocą new. Kolejna błędna składnia pkt Punkt pokazuje niezrozumienie podstawowej struktury definicji zmiennych i obiektów w PHP, gdzie brakuje operatora new i nawiasów. Takie podejście jest niepoprawne i prowadzi do błędów kompilacji. Brak nawiasów czy operatora przypisania to często popełniane błędy przy nauce programowania obiektowego. Ostateczna odpowiedź Punkt() pkt; jest niezgodna z zasadami składniowymi PHP, ponieważ nie można deklarować obiektu w tej formie. Taka konstrukcja narusza logikę przypisania wartości do zmiennych i tworzenia instancji obiektów w PHP. Zrozumienie, dlaczego słowo new jest kluczowe, pozwoli uniknąć tych typowych błędów i poprawnie implementować obiektowe aspekty PHP, co jest podstawą budowy złożonych aplikacji w tym języku.

Pytanie 17

Jakie możliwości daje funkcja phpinfo()?

A. analizowanie kodu PHP
B. zweryfikowanie wartości zmiennych użytych w kodzie PHP
C. uzyskanie informacji o środowisku pracy serwera obsługującego PHP
D. uruchomienie kodu w języku PHP
Funkcja phpinfo() jest niezwykle przydatnym narzędziem, które dostarcza szczegółowych informacji na temat konfiguracji środowiska PHP na serwerze. Wywołanie tej funkcji generuje stronę HTML z danymi takimi jak wersja PHP, załadowane rozszerzenia, zmienne konfiguracyjne oraz informacje o systemie operacyjnym. Przykładowo, podczas rozwiązywania problemów z aplikacjami PHP, programiści mogą skorzystać z phpinfo() w celu weryfikacji, czy odpowiednie rozszerzenia są załadowane, co może być kluczowe dla poprawnego działania aplikacji. Dodatkowo, funkcja ta umożliwia identyfikację potencjalnych problemów z konfiguracją, takich jak niewłaściwie ustawione ścieżki do skryptów czy braki w wymaganych rozszerzeniach. Zgodnie z najlepszymi praktykami, phpinfo() powinno być używane tylko w środowiskach deweloperskich, a nie produkcyjnych, aby nie ujawniać wrażliwych informacji o serwerze. Dobrą praktyką jest również usunięcie lub zabezpieczenie dostępu do stron, które wywołują tę funkcję, aby zminimalizować ryzyko ataków.

Pytanie 18

Jaki zestaw liczb zostanie wyświetlony w wyniku działania pętli napisanej w języku PHP?

$liczba = 10;
while ($liczba < 50) {
  echo "$liczba ";
  $liczba = $liczba + 5;
}
A. 0 5 10 15 20 25 30 35 40 45 50
B. 0 5 10 15 20 25 30 35 40 45
C. 10 15 20 25 30 35 40 45
D. 10 15 20 25 30 35 40 45 50
Prawidłowa odpowiedź to 10 15 20 25 30 35 40 45 ponieważ pętla while w języku PHP działa na zasadzie sprawdzania warunku przed każdą iteracją. W tym przypadku zmienna $liczba jest inicjalizowana wartością 10 a warunek w pętli sprawdza czy $liczba jest mniejsza niż 50. Wartość zmiennej jest wypisywana i następnie zwiększana o 5 w każdym kroku iteracyjnym. Pętla zakończy się gdy $liczba osiągnie wartość 50 lub większą. Dlatego ostatnią wypisaną wartością będzie 45 gdyż po dodaniu 5 zmienna $liczba wyniesie 50 i przestanie spełniać warunek pętli. Takie konstrukcje pętli są powszechne w programowaniu szczególnie gdy mamy do czynienia z iteracją po stałych przedziałach liczbowych. Stosowanie pętli while jest zalecane w przypadku gdy liczba iteracji nie jest z góry znana a jedynie zależy od spełnienia określonego warunku. Ważne jest by pamiętać o możliwości nieskończonej pętli jeśli warunek nigdy nie zostanie spełniony co może prowadzić do błędów wykonania programu. Praktycznym zastosowaniem takiej pętli jest iteracja po zbiorze danych którego rozmiar zależy od zewnętrznych czynników np danych wejściowych od użytkownika lub zawartości pliku.

Pytanie 19

Jaką metodę używa się w języku PHP do tworzenia komentarza obejmującego więcej niż jedną linijkę?

A. //
B. #
C. /* */
D. <!-- -->
W języku PHP, użycie bloków komentarzy za pomocą składni /* */ jest standardowym sposobem na zapisanie wielolinijnych komentarzy. Ta metoda pozwala na umieszczanie tekstu komentarza w wielu liniach, co jest szczególnie przydatne w przypadku dłuższych objaśnień kodu. Komentarze pozwalają programistom na dokumentowanie funkcji, metod lub fragmentów kodu, co znacznie zwiększa przejrzystość i zrozumiałość kodu dla innych deweloperów. Przykładowo, można ich używać w następujący sposób: /* To jest komentarz, który może zajmować wiele linii. Możesz go używać do szczegółowego opisu funkcji lub zmiennych. */ Praktyka korzystania z opisowych komentarzy jest zgodna z najlepszymi standardami programowania, ponieważ zwiększa czytelność i ułatwia pracę w zespołach. Komentarze są nieocenione w trakcie konserwacji kodu, ponieważ pozwalają na szybsze zrozumienie intencji autora, a także na łatwiejsze wprowadzenie zmian w przyszłości. Warto również pamiętać, że komentarze nie wpływają na wydajność aplikacji, ponieważ są ignorowane przez interpreter PHP w trakcie wykonywania skryptu.

Pytanie 20

Kod

$liczba2 = &$liczba1;
wskazuje, że zmienna $liczba2 jest
A. wskaźnikiem do $liczba1
B. iloczynem logicznym ze zmienną $liczba1
C. referencją do $liczba1
D. negacją logiczną zmiennej $liczba1
Zmienna \$liczba2 jest referencją do zmiennej \$liczba1, co w języku PHP oznacza, że obie zmienne odwołują się do tego samego miejsca w pamięci. Dzięki temu każda zmiana wartości w jednej z nich automatycznie wpływa na drugą. Użycie referencji jest przydatne w sytuacjach, gdzie potrzebujemy pracować z dużymi strukturami danych bez tworzenia ich kopii, co pozwala na oszczędność pamięci i zwiększenie wydajności. Standardowym sposobem tworzenia referencji w PHP jest użycie operatora ampersand (&) przed nazwą zmiennej, co widzimy w przedstawionym kodzie. Dobre praktyki programistyczne sugerują stosowanie referencji w sposób przemyślany, aby uniknąć trudności w debugowaniu kodu, które mogą wynikać z nieoczekiwanych zmian wartości zmiennych. Referencje są również często wykorzystywane w funkcjach, aby przekazać zmienne przez referencję, co pozwala na modyfikację oryginalnych wartości przesyłanych argumentów."

Pytanie 21

Jak, wykorzystując język PHP, można zapisać w ciasteczku wartość z zmiennej dane na okres jednego dnia?

A. setcookie("dane", "dane", 0);
B. setcookie("dane", $dane, 0);
C. setcookie("dane", $dane, time());
D. setcookie("dane", $dane, time() + (3600*24));
Odpowiedź setcookie("dane", $dane, time() + (3600*24)); jest prawidłowa, gdyż prawidłowo ustawia ciasteczko o nazwie 'dane' z wartością zmiennej $dane na czas jednego dnia. Funkcja setcookie w PHP wymaga trzech podstawowych argumentów: nazwy ciasteczka, wartości oraz czasu wygaśnięcia. W tym przypadku używamy time() + (3600*24), co oznacza aktualny czas plus 24 godziny (3600 sekund w godzinie pomnożone przez 24). Taki sposób określenia czasu wygaśnięcia jest zgodny z zaleceniami bezpieczeństwa i zarządzania danymi w aplikacjach webowych, ponieważ umożliwia precyzyjne kontrolowanie okresu ważności ciasteczek. Przykładowo, jeśli nasze ciasteczko jest używane do przechowywania sesji użytkownika, wartość 'dane' może zawierać identyfikator sesji, co pozwala na zachowanie stanu użytkownika przez 24 godziny. Ważne jest także, aby przed użyciem setcookie nie było wysyłanych żadnych danych do przeglądarki. Dobrą praktyką jest również ustawianie flagi HttpOnly, aby zwiększyć bezpieczeństwo, oraz SameSite, aby ograniczyć ryzyko ataków CSRF.

Pytanie 22

W wyniku działania pętli zapisanej w języku PHP zostanie wypisany ciąg liczb:

 $liczba = 10;
while ($liczba < 50) {
    echo "$liczba ";
    $liczba = $liczba + 5;
}
A. 10 15 20 25 30 35 40 45 50
B. 10 15 20 25 30 35 40 45
C. 0 5 10 15 20 25 30 35 40 45 50
D. 0 5 10 15 20 25 30 35 40 45
Dobrze zrozumiałeś działanie pętli while w języku PHP. Wybrana przez Ciebie sekwencja liczb (10, 15, 20, 25, 30, 35, 40, 45) jest poprawna. Pętla while, znajdująca się w skrypcie PHP, rozpoczyna działanie od wartości zmiennej, którą określono jako 10 i zwiększa ją o 5 za każdą iteracją, dopóki jej wartość jest mniejsza niż 50. Tak więc, ostatnią wydrukowaną liczbą jest 45, ponieważ w kolejnym kroku wartość zmiennej wynosiłaby już 50, co jest wartością większą od maksymalnej zdefiniowanej w warunku pętli. Zrozumienie działania pętli to klucz do efektywnego programowania, umożliwiającego tworzenie skomplikowanych algorytmów. Dobre praktyki zalecają, aby zawsze dokładnie analizować i rozumieć, jak daną pętle będą interpretowane przez interpreter języka.

Pytanie 23

Błędy w interpretacji kodu PHP są rejestrowane

A. w dzienniku zdarzeń systemu Windows
B. w oknie edytora, w którym tworzony jest kod PHP
C. pomijane przez przeglądarkę oraz interpreter PHP
D. w logu, o ile odpowiedni parametr jest ustawiony w pliku php.ini
Odpowiedzi, które sugerują inne metody zapisywania błędów interpretacji kodu PHP, są niepoprawne z kilku powodów. Po pierwsze, chociaż system Windows oferuje podgląd zdarzeń, nie jest on wykorzystywany do rejestrowania błędów PHP. PHP działa w swoim własnym kontekście, a wszelkie błędy są specyficzne dla tego języka i jego środowiska uruchomieniowego, a nie dla systemu operacyjnego. Po drugie, zapis błędów w oknie edytora, w którym powstaje kod PHP, jest praktyką niewłaściwą. Edytory kodu, chociaż mogą oferować funkcje podpowiedzi i analizy błędów na żywo, nie są odpowiednie do rejestrowania błędów wykonania, które mogą wystąpić w trakcie działania skryptów. To podejście ograniczałoby również możliwości analizy błędów, które mogą być istotne w późniejszym etapie prac nad projektem. Ostatnia z przedstawionych odpowiedzi, mówiąca o ignorowaniu błędów przez przeglądarkę oraz interpreter PHP, jest niezgodna z zasadami działania PHP. Interpreter PHP zawsze przetwarza błędy, a ich ignorowanie mogłoby prowadzić do poważnych problemów w działaniu aplikacji. Właściwą praktyką jest nie tylko rejestrowanie błędów, ale także ich odpowiednia obsługa, aby zapewnić stabilność i bezpieczeństwo aplikacji.

Pytanie 24

W przedstawionym kodzie PHP, co powinno się wyświetlić zamiast znaków zapytania?

$x = mysql_query('SELECT * FROM mieszkancy');
if(!$x)
echo "???????????????????????";
A. Zapytanie zostało zrealizowane pomyślnie
B. Nieprawidłowe hasło do bazy danych
C. Błąd w trakcie przetwarzania zapytania
D. Niepoprawna nazwa bazy danych
W przypadku odpowiedzi Nieprawidłowe hasło do bazy danych taki komunikat pojawiłby się raczej na wcześniejszym etapie procesu nawiązywania połączenia z bazą danych a nie podczas przetwarzania samego zapytania SQL Błąd związany z hasłem jest związany z funkcją mysql_connect a nie z mysql_query co wskazuje na niepoprawne zrozumienie sekwencji działań w PHP Podobnie odpowiedź Nieprawidłowa nazwa bazy danych sugeruje problem na etapie nawiązywania połączenia z bazą danych zanim jakiekolwiek zapytanie zostanie wykonane Takie błędy zwykle wynikają z podania niepoprawnych parametrów w funkcji łączącej z bazą danych a nie podczas wykonywania zapytania Dodatkowo wybór tej odpowiedzi wskazuje na brak zrozumienia jak działa mechanizm wyboru bazy danych w PHP Odpowiedź Zapytanie przetworzono pomyślnie jest logicznie błędna w kontekście użycia bloku if(!x) który wyraźnie wskazuje na reakcję na niepowodzenie zadania więc nie może być wybrana jako prawidłowa w sytuacji gdy oczekiwane jest wystąpienie błędu Takie błędy myślowe często wynikają z niezrozumienia struktury warunkowej w PHP oraz sposobu obsługi błędów Praktyczną wskazówką jest zawsze testowanie i logowanie komunikatów zwracanych przez funkcje PHP co jest zgodne z dobrymi praktykami programistycznymi i pozwala unikać takich pomyłek

Pytanie 25

Przygotowano fragment kodu PHP z zadeklarowaną zmienną tablicową. Jaki wynik zostanie wyświetlony jako imię po wykonaniu tego kodu?

$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
A. Tomasz
B. Aleksandra
C. Anna
D. Krzysztof
Odpowiedź Krzysztofa jest całkiem trafna, bo w PHP zaczynamy liczenie od zera. Czyli mamy pierwszy element na pozycji 0, drugi na 1, a trzeci na 2. W tym przypadku zmienna imiona to tablica z czterema elementami: 'Anna', 'Tomasz', 'Krzysztof' oraz 'Aleksandra'. Gdy używamy echo $imiona[2], to tak naprawdę sięgamy po trzeci element, czyli 'Krzysztofa'. Zasada indeksowania od zera jest właściwie standardem w wielu językach programowania, jak C, JavaScript czy Python. Dzięki temu PHP staje się bardziej spójne z innymi językami. To pozwala lepiej zarządzać danymi w kodzie, bo każdy element ma swój unikalny indeks. Ważne jest, żeby to zapamiętać, bo dzięki temu można unikać błędów, które wynikają z niewłaściwego dostępu do elementów tablic. No i lepiej wiedzieć, że wykraczający indeks może prowadzić do różnych problemów, więc warto zrozumieć to zagadnienie.

Pytanie 26

W języku PHP zmienna globalna $_POST, służąca do odbierania danych z formularza przesłanych metodą POST, jest: 

A. obiektem klasy stdClass.
B. tablicą asocjacyjną.
C. zmienną tekstową.
D. ciągiem znaków zakodowanym w JSON.
W PHP zmienna superglobalna $_POST nie jest ani ciągiem znaków, ani zwykłą zmienną tekstową, ani obiektem. To jedno z częstszych nieporozumień u osób, które dopiero zaczynają z programowaniem webowym. Mechanizm przesyłania danych metodą POST w HTTP faktycznie polega na wysłaniu zakodowanego ciągu danych w treści żądania, ale interpreter PHP po odebraniu takiego requestu automatycznie parsuje ten strumień i mapuje go na tablicę asocjacyjną. Programista nie pracuje już z surowym tekstem, tylko z gotową strukturą danych – z tablicą. Może się wydawać, że skoro dane „lecą” przez sieć jako tekst, to $_POST powinna być po prostu stringiem. Jednak PHP, zgodnie z filozofią ułatwiania pracy, od razu rozbija ten tekst na pary klucz–wartość na podstawie nazwy pól formularza. Dzięki temu nie trzeba ręcznie parsować treści żądania ani rozdzielać jej po znakach & i =. Dlatego koncepcja, że $_POST jest zmienną tekstową albo jednym dużym ciągiem (np. w JSON) jest myląca. JSON to osobny format serializacji danych; PHP nie koduje automatycznie $_POST do JSON, chyba że sam to zrobisz, np. json_encode($_POST). Inny błąd myślowy to traktowanie $_POST jako obiektu, bo w wielu nowoczesnych frameworkach mamy różne klasy Request, które udostępniają metody typu $request->getPost(). W czystym PHP taka abstrakcja nie jest domyślnie obecna – $_POST to zwykła tablica asocjacyjna, a nie instancja stdClass ani żadnej innej klasy. Jeżeli ktoś oczekuje zachowania obiektowego, to musi je samemu zbudować albo skorzystać z frameworka. Podsumowując, poprawne rozumienie $_POST jako tablicy asocjacyjnej jest kluczowe, bo wpływa na to, jak później bezpiecznie walidujemy, filtrujemy i przetwarzamy dane z formularzy. Założenie, że to string, JSON lub obiekt prowadzi do błędnych założeń przy implementacji logiki aplikacji i często do niepotrzebnych komplikacji w kodzie.

Pytanie 27

Aby dołączyć kod zawarty w pliku zewnętrznym do skryptu PHP, należy użyć funkcji

A. include()
B. isset()
C. strlen()
D. str_replace()
Prawidłowa funkcja to include(), bo właśnie ona służy w PHP do dołączania kodu z zewnętrznego pliku do aktualnie wykonywanego skryptu. Mechanizm jest prosty: interpreter PHP w miejscu wywołania include() wstawia zawartość wskazanego pliku tak, jakby ten kod fizycznie znajdował się w tym miejscu. Dzięki temu można dzielić aplikację na mniejsze moduły, np. osobny plik z nagłówkiem strony (header.php), stopką (footer.php), plikiem z funkcjami (functions.php) czy konfiguracją (config.php). W praktyce bardzo często spotyka się konstrukcje typu: include 'config.php'; albo include 'partials/header.php';. Moim zdaniem to jedna z podstawowych rzeczy, które trzeba opanować przy pracy z PHP, bo bez tego szybko robi się bałagan w kodzie. Warto wiedzieć, że istnieje też require(), które działa podobnie, ale przy błędzie (np. brak pliku) zatrzymuje skrypt, podczas gdy include() tylko zgłasza ostrzeżenie i próbuje lecieć dalej. Z punktu widzenia dobrych praktyk przy ważnych plikach (np. konfiguracja bazy danych) używa się częściej require_once, żeby mieć pewność, że plik został załadowany dokładnie raz i że bez niego aplikacja nie ruszy. Include() przydaje się tam, gdzie dołączany plik nie jest aż tak krytyczny, albo gdy zależnie od logiki ładujemy różne fragmenty layoutu. W nowocześniejszych projektach często stosuje się autoloading klas (np. przez Composer), ale mechanizm include/require nadal jest fundamentem i działa pod spodem. Warto też pilnować ścieżek względnych i bezwzględnych – dobrą praktyką jest bazowanie na __DIR__ lub ścieżkach konfigurowalnych, żeby uniknąć problemów po przeniesieniu projektu na inny serwer.

Pytanie 28

Dane są liczby całkowite różne od zera w tablicy nazwanej tab. Podany poniżej kod w języku PHP ma na celu

Ilustracja do pytania
A. zmienić wartości tablicy na te zapisane w zmiennej liczba
B. zmienić wszystkie elementy tablicy na liczby o przeciwnym znaku
C. wyliczenie iloczynu wszystkich wartości w tablicy
D. obliczenie wartości bezwzględnej poszczególnych elementów tablicy
Kod pokazany na obrazku używa konstrukcji foreach z operatorem referencji ampersand aby iterować po tablicy tab i zmieniać każdy jej element. Operator referencji & pozwala na bezpośrednią modyfikację wartości w tablicy. Instrukcja $liczba = $liczba * (-1) w pętli foreach zmienia znak każdej liczby na przeciwny co oznacza że dodatnie liczby stają się ujemne a ujemne stają się dodatnie. Dzięki temu możliwe jest szybkie odwrócenie znaków wszystkich elementów w tablicy co jest powszechnie stosowane w programowaniu aby przygotować dane do dalszych operacji matematycznych lub analizy. Unset($liczba) jest używane po pętli aby odłączyć referencję co jest dobrą praktyką zapobiegającą przypadkowym modyfikacjom przyszłych danych. Zastosowanie tego wzorca jest efektywne i pozwala na bezpieczną manipulację strukturą danych w PHP. Technika ta jest użyteczna nie tylko w kontekście matematycznym ale również w przypadkach gdzie wymagane jest szybkie przetwarzanie dużych ilości danych.

Pytanie 29

Która z definicji tablicy asocjacyjnej w PHP jest składniowo poprawna?

A. $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);
B. $wiek = array("Anna"=>"35", "Ewa"=>"37", "Oliwia"=>"43");
C. $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);
D. $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});
W analizowanych odpowiedziach można zauważyć kilka istotnych błędów składniowych, które uniemożliwiają prawidłowe zdefiniowanie tablicy asocjacyjnej w PHP. Pierwsza opcja, $wiek = array("Anna"=35, "Ewa"=37, "Oliwia"=43);, myli operator przypisania z operatorem asocjacyjnym. Użycie znaku = zamiast => jest kluczowe, ponieważ PHP wymaga użycia operatora => do parowania kluczy z wartościami. W drugiej opcji, $wiek = array([Anna, 35], [Ewa, 37], [Oliwia, 43]);, zastosowano niepoprawną składnię tablicy, gdzie zewnętrzne nawiasy kwadratowe powinny być zastąpione funkcją array() lub nawiasami klamrowymi, a także brakuje kluczy. Trzecia odpowiedź, $wiek = array({"Anna", "35"}, {"Ewa", "37"}, {"Oliwia", "43"});, również jest niepoprawna, ponieważ użyto nawiasów klamrowych, które nie są stosowane w definicji tablic asocjacyjnych w PHP. Nawiasy klamrowe mogą być używane do tworzenia tablic wielowymiarowych, ale w tym kontekście są nieodpowiednie. Typowe błędy myślowe, które prowadzą do takich pomyłek, to mylenie różnych typów struktur danych oraz niewłaściwe zrozumienie zasad parowania kluczy i wartości, co w rezultacie skutkuje błędami w składni i logice kodu.

Pytanie 30

W PHP do zapisywania informacji w pliku służy funkcja

A. fgets()
B. fopen()
C. freadfile()
D. fputs()
Funkcja fputs() w języku PHP jest używana do zapisywania danych do otwartego pliku. Działa na zasadzie wysyłania strumienia danych do pliku, co czyni ją odpowiednią do operacji zapisu. Przykładowe zastosowanie fputs() może wyglądać tak: najpierw należy otworzyć plik za pomocą funkcji fopen(), a następnie wykorzystać fputs() do zapisania danych. Na przykład: $file = fopen('dane.txt', 'w'); fputs($file, 'To jest przykładowy tekst.'); fclose($file); Warto pamiętać, że przy korzystaniu z funkcji fputs() istotne jest, aby plik był wcześniej otwarty w odpowiednim trybie (np. 'w' dla zapisu). W praktyce, fputs() jest zalecane do zapisu danych, ponieważ jest bardziej elastyczne od niektórych innych funkcji i pozwala na zapisywanie danych w formacie tekstowym. Dobre praktyki obejmują również sprawdzenie, czy otwarcie pliku zakończyło się sukcesem, co można zrobić poprzez odpowiednie warunki sprawdzające. Zrozumienie tej funkcji zwiększa efektywność programowania w PHP oraz umiejętność zarządzania danymi.

Pytanie 31

W języku PHP znajduje się poniższa instrukcja pętli. Ile iteracji wykona ta pętla, zakładając, że zmienna kontrolna nie jest zmieniana w jej wnętrzu i nie zastosowano instrukcji przerywającej pętlę typu break?

for ($i = 10; $i <= 100; $i += 10)
A. 11 iteracji
B. 9 iteracji
C. 10 iteracji
D. 100 iteracji
Podana pętla w języku PHP jest zdefiniowana jako: for ($i = 10; $i <= 100; $i += 10). W tym przypadku, zmienna sterująca $i jest inicjalizowana na wartość 10 i jest inkrementowana o 10 w każdej iteracji, aż osiągnie wartość 100 włącznie. Zatem, możliwe wartości zmiennej $i podczas powtórzeń pętli będą: 10, 20, 30, 40, 50, 60, 70, 80, 90, 100. W sumie daje to 10 powtórzeń, ponieważ pętla wykonuje się także dla wartości 100. W praktyce, znajomość struktur pętli w PHP jest kluczowa, szczególnie podczas przetwarzania dużych zbiorów danych, gdzie efektywność i precyzyjne kontrolowanie liczby iteracji mogą znacznie wpłynąć na wydajność skryptów. Przy implementacji pętli, warto również pamiętać o standardach czystości kodu oraz zasadach DRY (Don't Repeat Yourself), co pozwala na utrzymanie czytelności i ułatwia przyszłe modyfikacje kodu.

Pytanie 32

Jaki wynik przyjmie zmienna a po zakończeniu pętli w podanym fragmencie kodu PHP?

$i = 10; $a = 0;
while ($i)
{
    $a = $a + 2;
    $i--;
}
A. 0
B. 20
C. 2
D. 10
Błędem w rozumieniu tego fragmentu kodu może być założenie, że pętla while zakończy się wcześniej niż po 10 iteracjach. Można błędnie przypuszczać, że zmienna a przyjmuje inną wartość, na przykład 10, 0 lub 2, jeśli nie zrozumiemy poprawnie mechanizmu działania pętli while i operacji wewnątrz niej. Zmienna i początkowo wynosi 10 i jest dekrementowana o 1 w każdej iteracji, co oznacza, że pętla zakończy się dopiero, gdy i osiągnie wartość 0. W trakcie każdej iteracji do zmiennej a dodawana jest wartość 2, co prowadzi do jej końcowej wartości 20 po 10 iteracjach. Błędne odpowiedzi mogą wynikać z niedostatecznego zrozumienia, jak działa dekrementacja zmiennej sterującej pętlą lub jak wpływa to na liczbę wykonanych iteracji. Zrozumienie poprawnego przepływu kontroli w pętli while jest kluczowe w wielu sytuacjach programowania, aby przewidzieć wynik działania kodu. Pętla while jest fundamentalnym mechanizmem sterowania przepływem w wielu językach programowania, dlatego tak ważne jest, by dobrze rozumieć jej działanie i unikać błędnych wniosków, które mogą prowadzić do nieprawidłowego działania programu.

Pytanie 33

Jakiego języka można użyć do nawiązania połączenia z bazą MySQL w trakcie tworzenia aplikacji internetowej?

A. CSS
B. PHP
C. HTML
D. XHTML
PHP to naprawdę fajny język skryptowy, który świetnie sprawdza się w tworzeniu dynamicznych aplikacji internetowych. Jest super efektywny, kiedy trzeba połączyć się z bazami danych, takimi jak MySQL. Jako język serwerowy, daje programistom narzędzia do robienia różnych rzeczy z danymi, jak dodawanie, edytowanie czy usuwanie rekordów w bazie. Na przykład, gdy tworzysz aplikację do zarządzania użytkownikami, możesz użyć PHP do obsługi formularza rejestracyjnego, który zbiera dane od użytkowników i następnie łączy się z MySQL, by je zapisać. Do łączenia z bazą danych używa się funkcji, jak mysqli_connect() lub PDO (PHP Data Objects), co pozwala na bezpieczne i sprawne zarządzanie połączeniami oraz zapytaniami SQL. Co ważne, PHP zachęca do dobrych praktyk, jak stosowanie przygotowanych zapytań, co mocno zwiększa bezpieczeństwo aplikacji, chroniąc przed różnymi atakami, jak SQL injection.

Pytanie 34

Na stronie www znajduje się formularz, do którego należy zaimplementować następujące funkcje: walidacja: podczas wypełniania formularza w czasie rzeczywistym sprawdzana jest poprawność danych, oraz przesyłanie danych: po wypełnieniu formularza i jego zatwierdzeniu informacje są przesyłane do bazy danych na serwerze. Aby wprowadzić tę funkcjonalność w najprostszy sposób, trzeba zapisać

A. walidację i przesyłanie danych w języku JavaScript
B. walidację i przesyłanie danych w języku PHP
C. walidację w skrypcie PHP, a przesyłanie danych w JavaScript
D. walidację w języku JavaScript, a przesyłanie danych w skrypcie PHP
Mówiąc szczerze, podejście, które zakłada walidację i przesyłanie danych tylko w PHP, to nie za bardzo dobry pomysł. Dlaczego? Bo każde weryfikowanie danych po stronie serwera wymaga przesyłania ich tam, co powoduje zbędne obciążenie. To z kolei może spowalniać interakcję z użytkownikiem, co jest frustrujące, zwłaszcza w przypadku większych formularzy. A walidacja w PHP i przesyłanie w JavaScript? Znowu nie jest to najlepsze rozwiązanie. Walidacja po stronie serwera nie jest natychmiastowa, więc użytkownik może czekać, co zazwyczaj nie jest fajne. Gdy ktoś weźmie niepoprawne dane, to musi czekać na odpowiedź serwera i to jest czasochłonne. Najlepiej łączyć walidację w JavaScript, bo to poprawia interakcję, a wysyłanie danych do serwera robić w PHP, bo on dba o bezpieczeństwo i kontakt z bazą danych. Takie rozdysponowanie zadań sprawia, że wszystko chodzi sprawnie i łatwiej to potem rozwijać, co jest zgodne z aktualnymi standardami.

Pytanie 35

Jakie polecenie umożliwia pokazanie konfiguracji serwera PHP, w tym między innymi informacji o: wersji PHP, systemie operacyjnym serwera oraz wartościach przedefiniowanych zmiennych?

A. print_r(ini_get_all());
B. phpinfo();
C. phpcredits();
D. echo phpversion();
Funkcja phpinfo() jest najczęściej używanym narzędziem w ekosystemie PHP do wyświetlania szczegółowych informacji dotyczących konfiguracji serwera PHP. Umożliwia uzyskanie dostępu do kluczowych danych, takich jak wersja PHP, informacje o systemie operacyjnym, wartości przedefiniowanych zmiennych, a także wiele innych ustawień konfiguracyjnych. Dzięki temu narzędziu deweloperzy mogą szybko zdiagnozować problemy związane z konfiguracją, a także zrozumieć, jakie moduły PHP są zainstalowane i aktywne. Przykładowo, uruchamiając skrypt z tą funkcją na stronie internetowej, automatycznie generowany jest szczegółowy raport w formie HTML, co ułatwia odczyt i zrozumienie. Standardy branżowe wskazują, że korzystanie z phpinfo() powinno być ograniczone do środowisk rozwijających, ponieważ ujawnia to wiele informacji o serwerze, co w kontekście bezpieczeństwa może stanowić ryzyko. W praktyce, dobrze jest również stosować funkcję w lokalnych środowiskach deweloperskich, by monitorować i weryfikować zmiany w konfiguracji serwera podczas pracy nad projektem.

Pytanie 36

$i=10; $a=0; while $i) { $a=$a+2; $i--; } W języku PHP przedstawiono fragment kodu. Jaka będzie wartość zmiennej a po zakończeniu pętli?

A. 0
B. 10
C. 20
D. 2
W analizowanym fragmencie kodu PHP, mamy do czynienia z pętlą while, która działa tak długo, jak zmienna $i jest różna od zera. Na początku $i przyjmuje wartość 10, a zmienna $a jest inicjalizowana na 0. W obrębie pętli $a jest zwiększana o 2 w każdej iteracji, a zmienna $i jest dekrementowana o 1. Pętla wykona się więc 10 razy, co oznacza, że $a zostanie zwiększone 10 razy o 2, co daje łącznie: 2 * 10 = 20. Takie podejście do zarządzania pętlami jest zgodne z najlepszymi praktykami programowania, gdzie unika się złożonych operacji wewnątrz pętli na rzecz prostych i efektywnych obliczeń. Warto zauważyć, że sprawdzanie warunków oraz aktualizowanie zmiennych w pętli są kluczowe dla uniknięcia nieskończonych pętli oraz błędów logicznych, co jest istotne w kontekście utrzymania i czytelności kodu.

Pytanie 37

Aby włączyć do skryptu zawartość pliku egzamin.php z kodem PHP, należy użyć polecenia

A. getfile("egzamin.php");
B. fgets("egzamin.php");
C. fopen("egzamin.php");
D. include("egzamin.php");
Wybór niepoprawnych odpowiedzi wynika z nieporozumienia w zakresie zastosowania właściwych funkcji PHP. fgets to funkcja służąca do odczytywania linii z pliku, co oznacza, że jej zastosowanie wymagałoby otwarcia pliku w trybie odczytu, a nie włączenia całej zawartości do skryptu. Dlatego użycie fgets('egzamin.php'); nie przynosi oczekiwanego efektu. fopen to funkcja, która otwiera plik, ale nie włącza jego zawartości do skryptu. W przypadku fopen('egzamin.php'); programista musiałby dodatkowo opracować logikę do odczytywania danych z pliku, co jest nieefektywne, gdy celem jest proste włączenie kodu. Getfile to nieistniejąca funkcja w PHP; nie ma takiej komendy, co sprawia, że odpowiedź ta jest błędna już na poziomie składni. PHP nie definiuje funkcji o nazwie getfile. W każdym z tych przypadków, zamiast włączać kod, te metody wymagają dodatkowych kroków lub są po prostu błędne, co sprawia, że nie mogą być użyte do realizacji celu, jakim jest dołączenie kodu PHP z pliku.

Pytanie 38

Ile razy zostanie wykonana poniższa pętla w PHP?

for($i = 0; $i < 25; $i += 5) { ... }
A. 5
B. 26
C. 25
D. 0
Pętla for w PHP jest jednym z fundamentalnych narzędzi kontrolnych używanych do wykonywania powtarzających się zadań. W przedstawionym przykładzie pętli mamy następującą składnię: for($i = 0; $i < 25; $i += 5). Pętla rozpoczyna się od wartości początkowej zmiennej $i równej 0, a warunek kontynuacji pętli określa, że $i musi być mniejsze niż 25. W każdym przebiegu pętli zmienna $i zwiększa się o 5. Dzięki tej konstrukcji pętla wykona się dla wartości $i wynoszących kolejno 0, 5, 10, 15 i 20, co oznacza, że pętla zostanie wykonana dokładnie 5 razy. Takie konstrukcje są powszechnie stosowane w programowaniu do iteracyjnego przetwarzania danych, takich jak iterowanie przez tablice lub generowanie ciągów. Warto zwrócić uwagę na dobre praktyki programistyczne, które nakazują klarowność i czytelność kodu, dzięki czemu inni programiści mogą go łatwo zrozumieć i utrzymywać. Projektowanie pętli z precyzyjnie zdefiniowanymi warunkami początkowymi i końcowymi jest kluczowe dla unikania błędów logicznych, takich jak nieskończone pętle lub błędne iteracje. Użycie odpowiednich inkrementacji, jak w tym przypadku $i += 5, pozwala na kontrolowanie tempa i liczby iteracji zgodnie z zamierzonymi celami algorytmu.

Pytanie 39

W języku PHP uzyskano wyniki kwerend z bazy danych przy użyciu polecenia mysql_query. Aby wydobyć z otrzymanej kwerendy pojedynczy wiersz danych, konieczne jest użycie polecenia

A. mysql_fetch_row
B. mysql_field_len
C. mysql_fetch_lengths
D. mysql_list_fields
Odpowiedź mysql_fetch_row jest poprawna, ponieważ to funkcja, która pozwala na pobranie pojedynczego wiersza danych z zasobu zwróconego przez mysql_query. Zwraca ona tablicę, która zawiera wartości poszczególnych pól w wierszu, co umożliwia ich dalsze przetwarzanie. Dzięki tej funkcji programista może łatwo iterować przez wyniki kwerendy, co jest kluczowe w przypadku przetwarzania danych z baz danych. Na przykład, po wykonaniu kwerendy SELECT, można użyć pętli while, aby pobierać kolejne wiersze danych i je wyświetlać. Dobrą praktyką jest również sprawdzenie, czy zasób kwerendy jest poprawny przed użyciem tej funkcji, co pozwoli uniknąć błędów w czasie wykonywania skryptu. Warto dodać, że w nowszych wersjach PHP zaleca się korzystanie z rozszerzenia mysqli lub PDO, które oferują bardziej zaawansowane możliwości i większe bezpieczeństwo przy pracy z bazami danych.

Pytanie 40

Aby zobaczyć rezultaty działania skryptu napisanego w PHP, który jest częścią strony internetowej, musi on być

A. skomputeryzowany po stronie serwera
B. skomputeryzowany po stronie użytkownika
C. interpretowany po stronie użytkownika
D. zinterpretowany po stronie serwera
Odpowiedź "zinterpretowany po stronie serwera" jest poprawna, ponieważ skrypty PHP są przetwarzane na serwerze, a wynik ich działania jest następnie przesyłany do przeglądarki klienta. PHP jest językiem skryptowym, który działa w kontekście serwera, co oznacza, że kod PHP jest wykonywany, a jego wynik (np. HTML, JSON, XML) jest generowany zanim trafi do klienta. W praktyce, gdy użytkownik odwiedza stronę napisanej w PHP, serwer uruchamia skrypt, przetwarza dane, korzysta z baz danych, a następnie zwraca gotowy dokument do przeglądarki. Jest to zgodne z zasadą architektury klient-serwer, w której serwer odpowiada za logikę aplikacji, natomiast klient koncentruje się na prezentacji danych. Przykładowe zastosowanie PHP obejmuje tworzenie dynamicznych stron internetowych, systemów zarządzania treścią (CMS), a także aplikacji webowych, które wymagają interakcji z bazą danych. W branży web developmentu standardem jest używanie PHP w połączeniu z bazami danych MySQL lub PostgreSQL, co czyni go popularnym wyborem dla programistów.