The data type is not specified when a user-defined variable is declared with an assigned data type. The language determines the data type based upon either the data value associated with the variable or by how it is used (i.e. by its context).
PHP is a weak typed language. It uses type juggling to determine the data type based upon how it is being used (i.e. its context). Therefore, the data type changes (juggled).
Also called loosely typed.