Menu
Coddy logo textTech

Operatory logiczne — część 1

Część sekcji Podstawy ścieżki PHP w Coddy. Lekcja 25 z 71.

Operatory logiczne pozwalają łączyć wiele wyrażeń logicznych w jedno. Jest to niezbędne, gdy trzeba sprawdzić kilka warunków naraz.

Operator AND (&&) zwraca true tylko wtedy, gdy oba warunki są prawdziwe:

<?php
$age = 25;
$hasLicense = true;

$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(true)

$age = 16;
$canDrive = $age >= 18 && $hasLicense;
var_dump($canDrive); // bool(false) - warunek dotyczący wieku nie jest spełniony
?>

Operator OR (||) zwraca true, gdy co najmniej jeden warunek jest prawdziwy:

<?php
$isWeekend = true;
$isHoliday = false;

$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(true) - weekend ma wartość true

$isWeekend = false;
$dayOff = $isWeekend || $isHoliday;
var_dump($dayOff); // bool(false) - oba mają wartość false
?>

Myśl o && jako o „oba muszą być prawdziwe”, a o || jako o „co najmniej jeden musi być prawdziwy”. W następnej lekcji dowiesz się o operatorze NOT i o tym, jak łączyć wiele operatorów logicznych.

challenge icon

Wyzwanie

Łatwy

Wczytaj cztery wartości z wejścia: liczbę całkowitą age, ciąg znaków hasTicket (o wartości "true" lub "false"), ciąg znaków isMember (o wartości "true" lub "false") oraz ciąg znaków hasInvitation (o wartości "true" lub "false").

Konwertuj wartości tekstowe na wartości logiczne, porównując je z "true".

Sprawdź poniższe dwa warunki i wypisz wynik każdego z nich za pomocą var_dump(), każdy w nowej linii:

  1. Sprawdź, czy dana osoba może wejść na wydarzenie: musi mieć co najmniej 18 lat AND i bilet
  2. Sprawdź, czy dana osoba może wejść za darmo: musi być członkiem OR mieć zaproszenie

Przykład:

Jeśli dane wejściowe to 25, true, false i true, wynik powinien wyglądać następująco:

bool(true)
bool(true)

Wyjaśnienie:

  • 25 >= 18 AND hasTicket ma wartość true → true
  • isMember ma wartość false OR hasInvitation ma wartość true → true

Spróbuj swoich sił

<?php
// Wczytaj wartości wejściowe
$age = intval(fgets(STDIN));
$hasTicket = trim(fgets(STDIN));
$isMember = trim(fgets(STDIN));
$hasInvitation = trim(fgets(STDIN));

// TODO: Przekształć wartości tekstowe w wartości logiczne, porównując je z "true"


// TODO: Sprawdź, czy osoba może wejść na wydarzenie (ma co najmniej 18 lat ORAZ ma bilet)


// TODO: Sprawdź, czy osoba ma bezpłatny wstęp (jest członkiem LUB ma zaproszenie)


// Wyświetl wyniki za pomocą var_dump()

?>
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Kompilator PHP online