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 22: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 &