|
|
Línea 194: |
Línea 194: |
| *Un string es un tipo formado por una cadena de caracteres representados por un sistema determinado de codificación | | *Un string es un tipo formado por una cadena de caracteres representados por un sistema determinado de codificación |
| *En php no existe el tipo carácter, si bien una cadena es tratada internamente como un array de caracteres. | | *En php no existe el tipo carácter, si bien una cadena es tratada internamente como un array de caracteres. |
| + | *En php hay muchas funciones de cadenas de caracteres, las podemos ver en la página oficial |
| + | |
| + | https://www.php.net/manual/es/ref.strings.php |
| + | |
| + | {{MRM_Actividad| |
| + | |
| + | ;Prueba a hacer un programa que asignas a una variable de tipo string un valor y lo recorres carácter a carácter. |
| + | |
| + | {{Plegable|hide|Posible solución| |
| + | <source lang=php> |
| + | <?php |
| + | |
| + | //Declaro una variable de tipo string |
| + | //Y le asignamos un valor |
| + | $nombre = "manuel"; |
| + | |
| + | //Obtengo la longitud de la cadena |
| + | $len = strlen($nombre); |
| + | |
| + | //Recorro desde 0 hasta longitud menos uno < |
| + | for ($n=0; $n<$len; $n++) |
| + | echo "Carácter $n de $nombre $nombre[$n]<br />"; |
| + | |
| + | ?> |
| + | </source> |
| + | }} |
| + | }} |
| <!--MRM Mirar y hablar de los sistemas de codificación | | <!--MRM Mirar y hablar de los sistemas de codificación |
| --> | | --> |
Revisión de 19:41 2 oct 2020
Declaraciones
Objetivo
- Una declaración es una instrucción muy importante
- Aparentemente no hace nada (no tienen acción directa)
- Reserva memoria para el elemento declarado
- Permite hacer luego cosas con los elementos declarados
|
Declaraciones
- De variables
- De constantes
- De funciones
- De clases
- De objetos y recursos (clases ya creadas o incluidas)
Tema posterior
Las funciones,clases y objetos los veremos en otro tema
|
Pregunta
- Qué es un tipo de dato
- Qué es una variable
|
- Hay cuestions que son importantes tenerlas claras
- Son temas de programación básica
Definición
Un tipo de dato es un conjunto de valores para los cuales hay definidos una serie de operaciones
|
Definición
Una variable es una posición de memoria que va almacenar algún valor de un determinado tipo, y cuyo contenido puede variar durante la ejecución de un programa
|
- PHP
- Tipado dinámico
- Una características semántica muy, muy importante de php
PHP es un lenguaje tipado
- Esto es por que en todo momento todo valor y variable tienen un tipo
- Podemos ver su tipo, con funciones del lenguaje
|
- Los lenguajes de programación pueden ser mas o menos exigentes en cuanto a la declaración de los tipos de las variables para poder ser usados durante la ejecución de un programa.
- tipado dinámico
- Hay lenguajes fuertemente tipos (Java) o débilmente tipados (Basic)
- Esto tiene que ver con el hecho de que cada variable en un momento dado tiene un tipo, y lo podemos saber
- Esto ocurre en php
- Tipado dinámico
- Php no es estricto en el tipo de dato de una variable, en cuanto que éste puede cambiar durante su vida.
- En este sentido php es un lenguaje de tipado dinámico, el tipo de la variable depende del valor que tiene en un momento dado o de los operadores que lo afecten.
- La declaración de tipo no existe de forma explícita
- La declaración de tipo ocurre en el momento que a una variable se le asigne un valor de un tipo nuevo.
- Si le asigno un valor de otro tipo, vuelve a ocurrir una delcaración de tipo
PHP es un lenguaje de tipado dinámico
|
- Definir variables
- En php una variable es definida la primera vez que se usa.
- El tipo de la variable depende del valor que tenga asignado en un momento dado
- El identificador de la variable en php tiene que empezar por el signo $
- En 'php', las variables se representan con el signo $ seguido de un carácter de subrayado o una letra y luego letras, números y caracteres de subrayado en cualquier orden y número.
- PHP y variables
Resumen
- Php es un lenguaje tipado
- Php tipado dinámico
- Php no es estricto en la declaración de variables (La declaración ocurre la primera vez que se usa)
|
- identificador de variables
identificador = $[_|a.zA..Z][_|a..zA..Z0..9]*
}}
<?php
$miVariable= 8;/*Variable de tipo entero*/
edad = 5/*Error en el identificador*/
$5edad = 5 /*Error en el identificador */
?>
Tipos primitivos
- boolean: Valores TRUE y FALSE.
- entero: números enteros ... -2,-1,0,1,2 ...
- real: números reales
- string: Cadena de caracteres
- NULL: Valor null
|
Tipos compuestos
- array: conjunto enumerado por la clave de valores de diferente tipo
- objeto: Instancia de una clase en memoria
- recurso: objeto que permite utilizar elementos del sistema o recursos, (por ejemplo conector a una base de datos)
|
- La función gettype($variable) permite ver el tipo de una variable en un momento dado
- Asigna a una variable cada uno de los cinco tipos básicos
- Después de cada asignación visualiza el tipo con la función gettype()
%a = 10;
echo "Valor de la variable \$a es $a y es de tipo ".gettype($a)."<br />";
|
Tipos básicos: enteros
- entero integer
- Posible notación decimal/octal/hexadecimal
decimal [1..9][0..9]*
hexadecimal 0x[0..f]+
octal 0[0..7]+
binario 0b[01]+
- Todos ellos pueden ser positivos o negativos
**$Numero=10;
*Octal
**$NumeroOctal=067;
*Hexadecimal
**$NumeroHex=0cA56B;
- Haz un programa que asignes diferentes valores enteros a las variables.
- Realiza la asignación en distinto formato (decimal, octal, hexadecimal y binario).
- Prueba posteriormente a visualziarlo.
- Analiza e interpreta el resultado.
|
- integer
- Al imprimirlos con print los veré con valor decimal
- Para verlos en otras base hay que usar printf o format o utilizar las conversiones dechex o dechex o octdec, .... que veremos en otro apartado.
- Usa las fuciones especificadas anteriormente (decbin, dechex, decoct), para visualizar un número en los diferentes formatos numéricos
- Muestra el valor original, el convertido
- En el primer caso muestra el tipo del valor que retorna la función usada
|
- Usa las fuciones especificadas para visualizar en los tres sistemas decimales los números del 1 al 100
- Qué diferencia hay de hacerlo así a usar printf
|
Tipos String
- Un string es un tipo formado por una cadena de caracteres representados por un sistema determinado de codificación
- En php no existe el tipo carácter, si bien una cadena es tratada internamente como un array de caracteres.
- En php hay muchas funciones de cadenas de caracteres, las podemos ver en la página oficial
https://www.php.net/manual/es/ref.strings.php
Actividad
- Prueba a hacer un programa que asignas a una variable de tipo string un valor y lo recorres carácter a carácter.
Posible solución |
---|
<?php
//Declaro una variable de tipo string
//Y le asignamos un valor
$nombre = "manuel";
//Obtengo la longitud de la cadena
$len = strlen($nombre);
//Recorro desde 0 hasta longitud menos uno <
for ($n=0; $n<$len; $n++)
echo "Carácter $n de $nombre $nombre[$n]<br />";
?>
|
|
https://www.php.net/manual/es/language.types.string.php
- En php un string se puede especificar de 4 maneras como veremos a continuación:
Representado cadenas string
- Comillas dobles ""
- Comillas dobles
- Heredoc
- Newdoc
|
- Dentro de una cadena de caracteres, puede haber una serie de caracteres especiales que no se van a visualizar sino que van a ser interpretados
Tipos de caracteres especiales
- \ Es una secuencia de escape
- $ especifica el nombre de una variable cuyo valor se resolverá en caso de comillas dobles
- {} En este caso se realiza un análisis llamado complejo del valor. Sirve para analizar expresiones simples sin operadores.
|
- La diferneica entre comillas simples y dobles, es que en las comillas dobles se analizan los caracteres especiales especificados (todos ellos), mientras que en la comilla simple solo se analiza el caracter \ seguido de \' o de la propia comilla simple.
Secuencia de escape
- \n avance de línea (LF o 0x0A (10) en ASCII)
- \r retorno de carro (CR o 0x0D (13) en ASCII)
- \t tabulador horizontal (HT o 0x09 (9) en ASCII)
- \v tabulador vertical (VT o 0x0B (11) en ASCII) (desde PHP 5.2.5)
- \e escape (ESC o 0x1B (27) en ASCII) (desde PHP 5.4.4)
- \f avance de página (FF o 0x0C (12) en ASCII) (desde PHP 5.2.5)
- \\ barra invertida
- \$ signo de dólar
- \" comillas dobles
Tip: Importante tener en cuenta que estas secuencias no serán renderizadas en el navegador, se pueden ver en el texto que genera la instrucción.
|
$frase="Esto es un literal de cadena de caracteres"
- real o coma flotante float
$valor=$0.2345;
$valor=.54;
$valor=7E-12;
- Booleano boolean
$estado=TRUE;
$estado=TrUe;
$estado=falsE;
- NULL
- un tipo especial que solo tiene ese valor
- Una variable tiene el valor null
- Si aún no se le ha asignado valor, o éste se ha destruido (unset()
- Si se le ha asignado explícitamente el valor NULL.
- Tipos complejos
- Objetos básico en su aspecto de OOP
- Matrices o arrays muy muy utilizados
- Recursos este más que un tipo complejo es un tipo especial que hace referencia a un recurso externo referencia , como una conexión a una base de datos o como una referencia a un fichero pdf.
- Este tipo de variables las veremos más adelante
Ejercicio 8.- Declaración de variables
- Haz un programa donde declares variables de diferentes tipos
- Asigna los valores con diferente formato
- Visualiza sus valores
Declaración de tipos |
---|
<?php
$entero = 5;
$cadena = "Esto es una cadena";
$float = 5.35;
$boleano = true;
$nulo = null;
echo "El valor de la variables \$entero es $entero<br />";
echo "El valor de la variables \$cadena es $cadena<br />";
echo "El valor de la variables \$float es $float<br />";
echo "El valor de la variables \$bolenao es $boleano<br />";
echo "El valor de la variables \$null es $null<br />";
?>
|
|