Plantilla:PHP/Declaraciones/Variables
De WikiEducator
< Plantilla:PHP/Declaraciones
Revisión a fecha de 10:06 15 oct 2016; ManuelRomero (Discusión | contribuciones)
- 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; ?>
$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
- En operaciones lógicas, los datos NULL, 0,'0' y ‘ ' se consideran FALSE.
- Cualquier otro dato se considera TRUE (incluida lacadena 'FALSE').
- En operaciones aritméticas no unitarias las cadenas se intentan leer como números y, si no se puede, se convierten en 0,
- TRUE se convierte en 1, y FALSE se convierte en 0.
- En operaciones de comparación, si un operando es un número, el otro también se convertirá en un número.
- Sólo si ambos operandos son cadenas se compararán como cadena.
- 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 :
- (int) : Fuerza la conversión a entero
- (real), (double), (float): Fuerza la conversión a coma flotante.
- (string): Fuerza la conversión a cadena de caracteres.
- (array): Fuerza la conversión a matriz
- (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
Variable de variables
Se pueden crear nombres de variables dinámicamente anteponiendo $$ a una variable.
{{MRM_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 &
Ambito de una variable
- http://php.net/manual/es/language.variables.scope.php
- Ya sabemos que en PHP puedes utilizar variables en cualquier lugar de un programa.
- Si esa variable aún no existe, la primera vez que se utiliza se reserva espacio para ella.
- En ese momento, dependiendo del lugar del código en que aparezca, se decide desde qué partes del programa se podrá utilizar esa variable.
- A esto se le llama visibilidad de la variable.
</div>