Глосарій

Приведення типів (Type Juggling)

Type Juggling — неявна автоматична конвертація типів у PHP при операціях між різними типами. PHP — мова з динамічною типізацією: "5" + 3 = 8 (рядок стає числом). Це зручно, але є джерелом тонких багів.

Класичні пастки

// Нестроге порівняння ==
0    == "foo"  // true (до PHP 8: "foo" → 0)
0    == ""     // true (до PHP 8)
"1"  == "01"   // true
100  == "1e2"  // true
null == false  // true

// PHP 8 виправив: рядок порівнюється як рядок якщо не числовий
0 == "foo"  // false в PHP 8+

Правило

Завжди використовуйте строге порівняння === і !== — воно перевіряє і тип, і значення. Вмикайте declare(strict_types=1).

var_dump vs print_r

var_dump() показує тип і значення — незамінний при відлагодженні проблем з типами.