Глоссарий

Приведение типов (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() показывает тип и значение — незаменим при отладке проблем с типами.