Przejdź do treści głównej
INF.03Pytanie #1543 z 1558php-skladnia-i-struktury

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
<?php
$tekst = "abcde";
if (strpos($tekst, "a")) {
    echo "Znaleziono";
}
else {
    echo "Nie znaleziono";
}
?>
Opcje odpowiedzi:
A
Funkcja strpos() zwraca pozycję litery jako indeks 0, co w instrukcji warunkowej if jest konwertowane do wartości false
Prawidłowa
B
Funkcja strpos() nie obsługuje pojedynczych znaków, a jedynie ciągi tekstowe
C
Instrukcja warunkowa wymaga jawnego użycia operatora === true
D
Ciąg znaków powinien być podany w cudzysłowach pojedynczych, aby funkcja działała poprawnie
Reklama

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 jedyni nie odpowiada prawidłowemu rozwiązaniu problemu opisanego w pytaniu.
  • C: Opcja Instrukcja warunkowa wymaga jawnego użycia operatora === tru nie 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.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

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.