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

Jaki wynik zwróci poniższy fragment kodu ze względu na priorytety operatorów logicznych i operatora przypisania?

php
<?php
$wynik = true and false;
var_dump($wynik);
?>
Opcje odpowiedzi:
A
bool(false)
B
bool(true)
Prawidłowa
C
int(0)
D
NULL
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: B (bool(true))

W języku PHP operator przypisania = ma wyższy priorytet niż słowny operator logiczny and. W wyrażeniu $wynik = true and false; najpierw wykonuje się przypisanie $wynik = true;, a dopiero potem ewaluacja and false (której wynik jest ignorowany). Dlatego $wynik przechowuje bool(true).

Dlaczego pozostałe opcje są nieprawidłowe?

  • A: Wartość bool(false) dałoby wyrażenie z operatorem symbolicznym $wynik = true && false; (który ma wyższy priorytet niż =) lub z nawiasami $wynik = (true and false);.
  • C: int(0) to liczba całkowita, a wynikiem jest typ boolean.
  • D: Zmienna $wynik otrzymała wartość true, więc nie jest NULL.

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.