Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: PHP

W języku PHP zmienną zainicjowano poleceniem $a = '5'; (napis). Wynikiem wyrażenia $a + 3 jest

A. '5 3' (napis).
Źle. Ani dodawanie, ani łączenie napisów nie wstawia spacji.
B. '53' (napis).
Źle. Tak działa JavaScript; w PHP napisy łączy kropka, a plus dodaje.
C. błąd - nie można dodać napisu do liczby.
Źle. Napis liczbowy PHP zamienia na liczbę bez błędu.
D. 8 (liczba całkowita).
Dobrze. PHP zamienia napis liczbowy na liczbę i dodaje: 5 + 3 = 8.
Operator + w PHP zawsze oznacza dodawanie liczb. Gdy jeden z argumentów jest napisem zawierającym liczbę, PHP automatycznie zamienia go na wartość liczbową, więc '5' + 3 daje 8 typu int. Do zapamiętania: w PHP + dodaje, a . łączy napisy, więc '5' . 3 dałoby napis „53”. To odwrotnie niż w JavaScript, gdzie '5' + 3 daje „53”, bo tam + przy napisie łączy tekst. Wynik i jego typ sprawdzisz poleceniem var_dump($a + 3);, które wypisze int(8). Napis bez liczby, na przykład 'abc' + 3, w PHP 8 zakończy się błędem typu. Konwersję możesz też wykonać jawnie: (int)$a + 3.
Błędne odpowiedzi biorą się najczęściej z przeniesienia zasad z innego języka. Wynik „53” dałby JavaScript, w którym plus przy napisie łączy tekst; w PHP do łączenia służy kropka, a plus zawsze dodaje liczby. Napis „5 3” ze spacją nie powstałby w żadnym z tych języków, bo ani dodawanie, ani łączenie nie wstawia odstępu. Błędu też nie będzie: napis '5' jest napisem liczbowym, więc PHP po cichu zamienia go na liczbę 5. Ostrzeżenie lub błąd typu pojawia się dopiero wtedy, gdy napis nie zawiera liczby albo ma ją tylko na początku, na przykład '5 kg'. W tym zadaniu wynikiem jest liczba całkowita 8. Dlatego przy pracy z danymi z formularza warto jawnie zamieniać typ, na przykład przez (int). Wtedy wynik jest przewidywalny niezależnie od tego, co wpisał użytkownik.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.