Plantilla:PHP/Declaraciones/Variables

De WikiEducator
Saltar a: navegación, buscar

Además de las variables definidas por el programador, existen gran cantidad de variables predefinidas que se pueden usar libremente: {{Actividad|title= Variables predefinidas|

Variables de entorno o matrices superglobales
  1. $GLOBALS
  2. $_SERVER
  3. $_GET
  4. $_POST
  5. $_COOKIE
  6. $_FILES
  7. $_ENV
  8. $_REQUEST
  9. $_SESSION
Ejemplos de declaraciones
<?php
$Cadena = "Tipo de dato de cadena";
$NúmeroEntero = 1; // Un valor entero
$NúmeroFlotante = 1.55; // Un valor numérico con decimales
$Booleano = True; // Un valor booleano True (1) o False (0)
$Matriz[0]= "A"; // Un valor de matriz con subíndice 0
$Matriz[2] = 3; // Un valor de matriz con subíndice 2
$NúmeroOctal = 012; // Un número octal 12 es decimal 10
$NúmeroHexadecimal = 0x1C; //Un número hexadecimal 1c igual a decimal 28
$NúmeroNegativo = -33; // Los números negativos llevan el signo adelante
$NúmeroFlotanteExp = 1.55e3;
echo $Cadena;
echo $NúmeroEntero;
echo $NúmeroFlotante;
echo $Booleano;
echo $Matriz[0];
echo $Matriz[2];
echo $NúmeroOctal;
echo $NúmeroHexadecimal;
echo $NúmeroNegativo;
echo $NúmeroFlotanteExp;
?>
Conversión de tipos
  • PHP es muy flexible en el manejo de los tipos de datos.
  • PHP evalúa la operación a realizar y el tipo de los operandos, y adapta los operandos para poder realizar la operación lo más correctamente posible.
$varN=1;
$varC=2 flores’;
$varC=$varC+$varN; // qué valor sale????


Icon casestudy.gif

Ejemplo

En una operación aritmética con cadenas intenta obtener el valor numérico de las cadenas.
En operaciones entre enteros y coma flotante resulta un número en coma flotante.
Una concatenación de cadenas con una variable numérica hace que ésta última sea convertida a cadena.



$varN=1;
$varC=4 flores’;
$varC=$varC.$varN;  //Qué valor sale???
  • Podemos tener conversiones explícitas o implícitas
Conversión automática o implícitas
  • El interprete las realiza en determinadas situaciones
  • Para ello manda el operador que es quien indica el tipo de expresión
  • Php adapta los operadores a la operación a realizar
  • Reglas de conversión automática
  1. En operaciones lógicas, los datos NULL, 0,'0' y ‘ ' se consideran FALSE.
    1. Cualquier otro dato se considera TRUE (incluida lacadena 'FALSE').
  2. En operaciones aritméticas no unitarias las cadenas se intentan leer como números y, si no se puede, se convierten en 0,
    1. TRUE se convierte en 1, y FALSE se convierte en 0.
  3. En operaciones de comparación, si un operando es un número, el otro también se convertirá en un número.
    1. Sólo si ambos operandos son cadenas se compararán como cadena.
  4. En operaciones de cadenas de caracteres, NULL y FALSE se convierten en ‘ ', y TRUE se convierte en '1'.
Conversión forzada o explícita
  • En ella nosotros espeficicamos el tipo que queremos que tenga el operando
  • Si hace falta luego se aplicará la conversión forzada, por lo que no siempre se adaptará al tipo especificado
  • PHP permite otras conversiones implícitas de tipos :
  1. (int) : Fuerza la conversión a entero
  2. (real), (double), (float): Fuerza la conversión a coma flotante.
  3. (string): Fuerza la conversión a cadena de caracteres.
  4. (array): Fuerza la conversión a matriz
  5. (object): Fuerza la conversión a un objeto.
Conversión de tipos
  • Se puede mirar la web para ello
http://php.net/manual/es/language.types.type-juggling.php
  • Más adelante veremos los operadores de comparación. Por ejemplo el valor 8 y el valor "8" son iguales, pero no son del mismo tipo


Icon key points.gif

Puntos clave

{{{1}}}


Variable de variables

Se pueden crear nombres de variables dinámicamente anteponiendo $$ a una variable.

{{Punto clave|

La variable variable toma su nombre del valor de otra variable previamente declarada.

}

<?php
$var = “uno”;
$$var = “dos”;
print ($var); // ???
print ($uno); // ???
print ($$var); // ???
print (${$var});
Esto es una una por referencia, a diferencia, se están creando dos variables distintas que ocupan direcciones de memoria distintas.
  • En php si queremos acceder a la dirección de memoria de una variable usaremos el símbolo &


Ámbito de una variable