Variables desde fuentes externas
  
   
    Cookies HTTP
    
     PHP soporta cookies de HTTP de forma transparente tal y como están
     definidas en » RFC 6265. Las cookies son un
     mecanismo para almacenar datos en el navegador y así
     rastrear o identificar a usuarios que vuelven. Se pueden
     crear cookies usando la función setcookie(). Las
     cookies son parte de la cabecera HTTP, así que se debe llamar a la
     función SetCookie antes de que se envíe cualquier salida al navegador.
     Es la misma restricción que para la función header().
     Los datos de una cookie están disponibles en el array de datos de la
     cookies apropiada, tal como $_COOKIE y $_REQUEST.
     Véase la página de setcookie() del manual para más
     detalles y ejemplos.
    
    Nota: 
     
      A partir de PHP 7.2.34, 7.3.23 y 7.4.11, respectivamente, los
      nombres de las cookies entrantes ya no son con url-decoded
      por razones de seguridad.
     
    
   
    Si se quieren asignar múltiples valores a una sola cookie, basta con
    asignarlo como un array. Por ejemplo:
   
    
    
     Esto creará dos cookies separadas aunque MiCookie será un array simple
     en el script. Si se quiere definir una sola cookie con valores
     múltiples, considere el uso de la función serialize()
     o explode() primero en el valor.
    
    
     Nótese que una cookie reemplazará a una cookie anterior que tuviese el
     mismo nombre en el navegador a menos que la ruta o el dominio
     fuesen diferentes. Así, para una aplicación de carrito de compras se
     podría querer mantener un contador e ir pasándolo. Es decir:
    
    
     Ejemplo #4 Un ejemplo de setcookie()
     
<?php
if (isset($_COOKIE['count'])) {
    $count = $_COOKIE['count'] + 1;
} else {
    $count = 1;
}
setcookie('conteo', $count, time()+3600);
setcookie("Carrito[$count]", $item, time()+3600);
?>
      
     
    
   
    Puntos en los nombres de variables de entrada
    
     Típicamente, PHP no altera los nombres de las variables cuando se pasan
     a un script. Sin embargo, hay que notar que el punto no es un
     carácter válido en el nombre de una variable PHP. Para conocer la razón,
     considere el siguiente ejemplo:
     
<?php
$varname.ext;  /* nombre de variable inválido */
?>
      
     Lo que el intérprete vé es el nombre de una variable 
$varname, seguido
     por el operador de concatenación, y seguido por la cadena pura (es
     decir, una cadena sin entrecomillar que no coincide con ninguna palabra
     clave o reservada conocida) 'ext'. Obviamente, no se pretendía que fuese
     éste el resultado.
    
    
     Por esta razón, es importante hacer notar que PHP reemplazará
     automáticamente cualquier punto en los nombres de variables de entrada
     por guiones bajos (subrayados).
    
    
   
    Determinación de los tipos de variables
    
     Dado que PHP determina los tipos de las variables y los convierte
     (generalmente) según lo que necesita, no siempre resulta obvio de qué tipo
     es una variable dada en un momento concreto. PHP incluye varias
     funciones que descubren de qué tipo es una variable:
     gettype(), is_array(),
     is_float(), is_int(),
     is_object(), y is_string().  Vea
     también el capítulo sobre Tipos.
    
    
     HTTP being a text protocol, most, if not all, content that comes in
     Superglobal arrays, 
     like $_POST and $_GET will remain
     as strings. PHP will not try to convert values to a specific type.
     In the example below, $_GET["var1"] will contain the
     string "null" and $_GET["var2"], the string "123".
     
/index.php?var1=null&var2=123