PHP does not require (or support) explicit type definition in
    variable declaration; a variable's type is determined by the
    context in which that variable is used. That is to say, if you
    assign a string value to variable $var,
    $var becomes a string. If you then assign an
    integer value to $var, it becomes an
    integer.
   
    An example of PHP's automatic type conversion is the addition
    operator '+'. If any of the operands is a float, then all
    operands are evaluated as floats, and the result will be a
    float. Otherwise, the operands will be interpreted as integers,
    and the result will also be an integer. Note that this does NOT
    change the types of the operands themselves; the only change is in
    how the operands are evaluated.
    
   
    If the last two examples above seem odd, see String
    conversion to numbers.
   
    If you wish to force a variable to be evaluated as a certain type,
    see the section on Type
    casting. If you wish to change the type of a variable, see
    settype().
   
    If you would like to test any of the examples in this section, you
    can use the var_dump() function.
   
Note: 
     The behaviour of an automatic conversion to array is currently
     undefined.
    
     
    
     Since PHP (for historical reasons) supports indexing into strings
     via offsets using the same syntax as array indexing, the example
     above leads to a problem: should $a become an array with its first
     element being "f", or should "f" become the first character of the
     string $a?
    
     The current versions of PHP interpret the second assignment as
     a string offset identification, so $a becomes "f", the result
     of this automatic conversion however should be considered
     undefined. PHP 4 introduced the new curly bracket syntax to access
     characters in string, use this syntax instead of the one presented
     above: 
     
     See the section titled String
     access by character for more information.
    
     Type casting in PHP works much as it does in C: the name of the
     desired type is written in parentheses before the variable which
     is to be cast.
     
    
     The casts allowed are:
     
- (int), (integer) - cast to integer 
- (bool), (boolean) - cast to boolean 
- (float), (double), (real) - cast to float 
- (string) - cast to string 
- (array) - cast to array 
- (object) - cast to object 
     Note that tabs and spaces are allowed inside the parentheses, so
     the following are functionally equivalent:
     
    Note: 
      Instead of casting a variable to string, you can also enclose
      the variable in double quotes.
     
     
     It may not be obvious exactly what will happen when casting
     between certain types. For more info, see these sections: