Diferencia entre revisiones de «Plantilla:PHP/Declaraciones/Variables»
De WikiEducator
(Página creada con «<div class="slide"> Además de las variables definidas por el programador, existen gran cantidad de variables predefinidas que se pueden usar libremente: {{Actividad|title=...») |
|||
| Línea 14: | Línea 14: | ||
#$_SESSION | #$_SESSION | ||
</div> | </div> | ||
| + | ;Ejemplos de declaraciones | ||
| + | <source lang=php> | ||
| + | <?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; | ||
| + | ?> | ||
| + | </source> | ||
| + | <div class=slide> | ||
| + | ;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. | ||
| + | </div> | ||
| + | <div class=slide> | ||
| + | <source lang=php> | ||
| + | $varN=1; | ||
| + | $varC=‘2 flores’; | ||
| + | $varC=$varC+$varN; // qué valor sale???? | ||
| + | </source> | ||
| + | </div> | ||
| + | <div class=slide> | ||
| + | {{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. | ||
| + | }} | ||
| + | </div> | ||
| + | <source lang=php> | ||
| + | $varN=1; | ||
| + | $varC=‘4 flores’; | ||
| + | $varC=$varC.$varN; //Qué valor sale??? | ||
| + | </source> | ||
| + | *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 | ||
| + | {{Puntos clave| | ||
| + | *Operador '''''==''''' para comparar '''valores''' | ||
| + | *Operador '''''===''''' para comparar '''valores y tipo''' }} | ||
| + | ===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. | ||
| + | } | ||
| + | <source lang=php> | ||
| + | <?php | ||
| + | $var = “uno”; | ||
| + | $$var = “dos”; | ||
| + | print ($var); // ??? | ||
| + | print ($uno); // ??? | ||
| + | print ($$var); // ??? | ||
| + | print (${$var}); | ||
| + | </source> | ||
| + | |||
| + | ;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=== | ||
Revisión de 09:35 6 oct 2016
- 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.
{{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 &