<?php
// --------------------
// Π€ΡΠ½ΠΊΡΠΈΡ foo() Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½Π°, Ρ. ΠΊ. ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ½ΡΠΈΡΡΡΡΠΈΠ΅ (short-circuit)
$a = (false && foo());
$b = (true || foo());
$c = (false and foo());
$d = (true or foo());
// --------------------
// Π£ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«||Β» Π±ΠΎΠ»ΡΡΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΡΠ΅ΠΌ Ρ Β«orΒ»
// Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (false || true) ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $e
// ΠΠ΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ: ($e = (false || true))
$e = false || true;
// ΠΠΎΠ½ΡΡΠ°Π½ΡΠ° false ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $f, Π° Π·Π°ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ
// ΠΠ΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ: (($f = false) or true)
$f = false or true;
var_dump($e, $f);
// --------------------
// Π£ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«&&Β» Π±ΠΎΠ»ΡΡΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ, ΡΠ΅ΠΌ Ρ Β«andΒ»
// Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ (true && false) ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $g
// ΠΠ΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ: ($g = (true && false))
$g = true && false;
// ΠΠΎΠ½ΡΡΠ°Π½ΡΠ° true ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $h, Π° Π·Π°ΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ
// ΠΠ΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊ: (($h = true) and false)
$h = true and false;
var_dump($g, $h);
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ
ΠΎΠΆ Π½Π°:
bool(true)
bool(false)
bool(false)
bool(true)