Przeanalizuj poniższy kod. Dlaczego na ekranie pojawi się komunikat "Nie znaleziono", mimo że litera "a" znajduje się wewnątrz sprawdzanego ciągu znaków?
Przeanalizuj poniższy kod. Dlaczego na ekranie pojawi się komunikat "Nie znaleziono", mimo że litera "a" znajduje się wewnątrz sprawdzanego ciągu znaków?
<?php
$tekst = "abcde";
if (strpos($tekst, "a")) {
echo "Znaleziono";
}
else {
echo "Nie znaleziono";
}
?>Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: A (Funkcja strpos() zwraca pozycję litery jako indeks 0, co w instrukcji warunko...)
Ponieważ funkcja strpos() zwraca pozycję pierwszego wystąpienia szukanego znaku liczoną od zera. Dla tekstu abcde litera a znajduje się na początku, więc funkcja zwraca 0. W PHP, podczas niejawnej konwersji typów wewnątrz instrukcji if, liczba 0 jest traktowana jako logiczne false, przez co wykonuje się blok else.
Opcja B jest niepoprawna, ponieważ funkcja poprawnie przetwarza pojedyncze znaki. Opcja C jest niepoprawna, ponieważ funkcja zwraca pozycję (liczbę) lub wartość false, a nie wartość true. Opcja D jest niepoprawna, ponieważ rodzaj cudzysłowu nie wpływa na algorytm wyszukiwania pozycji znaku.
Dlaczego pozostałe opcje są nieprawidłowe?
- B: Opcja
Funkcja strpos() nie obsługuje pojedynczych znaków, a jedyninie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu. - C: Opcja
Instrukcja warunkowa wymaga jawnego użycia operatora === trunie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu. - D: Opcja
Ciąg znaków powinien być podany w cudzysłowach pojedynczych,nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu.
Chcesz poćwiczyć całą kwalifikację INF.03?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Indeks w bazie danych (INDEX)Specjalna pomocnicza struktura danych (najczęściej B-drzewo) przyspieszająca wyszukiwanie i sortowanie wierszy w tabeli kosztem wolniejszego zapisu.
- Funkcje tekstowe w PHP (strlen, strpos, explode, implode, trim)Funkcje do mierzenia długości, wyszukiwania podciągów, zamiany fragmentów oraz konwersji między łańcuchami a tablicami.
- Typy danych i operatory porównania (== vs ===)Zasady typowania w JavaScript oraz fundamentalna różnica między porównaniem luźnym z konwersją typu (==) a ścisłym (===).
Podobne pytania z działu „Php skladnia i struktury”
Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 165 pytań z tego działu.
- #39
Fragment kodu prezentuje składnię języka
- #42
Który język skryptowy ogólnego przeznaczenia należy wykorzystać do tworzenia aplikacji WWW, zagnieżdżanych w języku HTML i uruchamianych po stronie serwera?
- #69
Która z wymienionych funkcji sortowania wykorzystywana w języku PHP sortuje tablicę asocjacyjną według indeksów
- #73
Instrukcja języka PHP tworząca obiekt pkt dla zdefiniowanej w ramce klasy ma postać
- #74
Wskaż wynik wykonania skryptu napisanego w języku PHP