Diferencia entre revisiones de «Plantilla:PHP/Declaraciones»
De WikiEducator
(→Tipos String) |
(→Tipos String) |
||
Línea 249: | Línea 249: | ||
</div> | </div> | ||
+ | <br /> | ||
====Tipos String==== | ====Tipos String==== | ||
*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 | ||
Línea 474: | Línea 475: | ||
}} | }} | ||
<div class="slide"> | <div class="slide"> | ||
+ | =====Comillas dobles===== | ||
+ | *En ellas se interpretan los caracteres especiales. | ||
+ | #''''' $''''' seguido de un nombre, interpreta que es una variable y toma su valor (null si no tiene valor o no está definida). | ||
+ | #'''''\''''' es un carácter de secuencia de escape, e interpreta que el carácter siguiente tiene un significado especial \\ \a \n \r \t , ... | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | *Si queremos que se ignore un carácter especial, éste ha de ir precedido por el caracter '''''\''''' | ||
+ | <source lang=php> | ||
+ | $nombre = 'pedro'; | ||
+ | echo "El valor de la variable \$nombre es $nombre"; | ||
+ | </source> | ||
+ | *El resultado sería | ||
+ | El valor de la variable $nombre es pedro | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | =====Comillas simples===== | ||
+ | *Como ya hemos comentado incidimos que en en este tipo de representación de las cadenas solo se interpreta el carácter especial \ o bien seguido de la barra invertida '''''\\''''' comilla simple '''''\<nowiki>'</nowiki>'''''. | ||
+ | *El resto de caracteres no se interpretan. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <source lang=php> | ||
+ | $nombre = 'pedro'; | ||
+ | echo 'El valor de la variable $nombre es $nombre | ||
+ | y \\ \'texto\' sí que se ve entre comillas simples'; | ||
+ | </source> | ||
+ | *La salida sería | ||
+ | El valor de la variable $nombre es $nombre | ||
+ | y \ 'texto' sí que se ve entre comillas simples'; | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
+ | =====Heredoc===== | ||
+ | *Este tipo de expresión de string es útil para especificar cadenas largas en multilíneas | ||
+ | *Se comporta como un string entre comillas dobles para el tema de interpretar y escapar ciertos caracterres | ||
+ | *Se establece con el operador '''''<<<''''' | ||
+ | *A continuación viene un identificador | ||
+ | *Después empieza a especificarse la cadena de caracteres | ||
+ | *Para finalizarla se escribe en una nueva línea el identificador | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | $frase = <<<FINAL | ||
+ | Esta es una cadena | ||
+ | de caracteres que se asignará | ||
+ | a la variable frase | ||
+ | y termina con la palabra | ||
+ | con la que hemos empezado | ||
+ | FINAL; | ||
+ | ?> | ||
+ | </source> | ||
+ | *MUY IMPORTANTE: '''''La palabra final no debe tener ningún espacio después, ni tabulador antes'''''. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | =====NewDoc===== | ||
+ | *Es igual que heredoc , pero sin interpretar los caracteres especiales salvo '''''\\''''' '''''\.''''' | ||
+ | *O sea que es como un entrecomillado sencillo | ||
+ | *La sintaxis es igual que la de heredoc, pero a diferencia el delimitador que se especifica al principio debe de ir entrecomillado con comillas simples | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <source lang=php> | ||
+ | <?php | ||
+ | $nombre=pedro; | ||
+ | $frase = <<<'FINAL' | ||
+ | El valor de $nombre | ||
+ | es $nombre, pero aquí | ||
+ | no lo veo por que es newdoc | ||
+ | FINAL; | ||
+ | ?> | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
<!--4---------------------------------> | <!--4---------------------------------> | ||
+ | |||
====Tipos complejos==== | ====Tipos complejos==== | ||
*Objetos básico en su aspecto de OOP | *Objetos básico en su aspecto de OOP |
Revisión de 08:36 5 oct 2020
- La función gettype($variable) permite ver el tipo de una variable en un momento dado
%a = 10; echo "Valor de la variable \$a es $a y es de tipo ".gettype($a)."<br />";
|
|
|
|
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
"Esto es una cadena de carácteres"
https://www.php.net/language.types.string https://www.php.net/manual/es/ref.strings.php
|
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:
- Dentro de una cadena de caracteres, puede haber una serie de caracteres especiales los cuales pueden ser interpretados y evaluados y no se visualizarán.
|
- 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 \'.
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.
|
|
- La resolución compleja de expresinoes simples {}, sirve para obtener el valor de la varialble como si fueran paréntesis.
- Por ejemplo, imagina que queremos concatenar a una variable un carácter.En principio necesitaríamos un operador de concatenación.
Ejemplo
| |
<?php $nombre="Manuel"; $apellido="Romero"; echo "Tu identificación $nombre_$apellido" ?>
Tu identificación Romero
<?php $nombre="Manuel"; $apellido="Romero"; echo "Tu identificación $nombre"."_"."$apellido" ?>
<?php $nombre="Manuel"; $apellido="Romero"; echo "Tu identificación {$nombre}_{$apellido}"; ?>
|
- Otra utilidad es para visualizar el valor de las variables de variables (Ver apartado correspondinete)
- Otra cuestión es cómo visualiza las variables en una cadena
$modulo = "Desarrollo en el servidor"; echo "<h2>Estoy estudiando $modulo </h2>"; ?>
Estoy estudiando Desarrollo en el servidor
$nota = 9.58; echo "<h2>Y me estudio se recompensa con una nota de $nota</h2>"; ?>
Y me estudio se recompensa con una nota de 9.58
$bool1 = true; $bool2 = false; echo "<h2> Visualizando booleanos: true -$bool1- y false -$bool2-</h2>"; ?>
Visualizando booleanos: true -1- y false --
$valor = null; echo "<h2> Visualizando el valor null -$valor-</h2>"; ?>
Visualizando el valor null --
$vector = [1,2,3,4,5]; echo "<h2> Visualizando un array -$vector-</h2>"; ?>
Visualizando un array -Array-
<?php Class foo { } $obj = new foo(); echo "<h2> Visualizando un objeto -$obj-</h2>"; ?>
[Sun Oct 04 18:18:44.431637 2020] [php7:error] [pid 998] [client ::1:35958] PHP Fatal error: Uncaught Error: Object of class foo could not be converted to string in /var/www/prueba/8.php:5\nStack trace:\n#0 {main}\n thrown in /var/www/prueba/8.php on line 5
<?php <?php $con =new mysqli("localhost","root", "root"); echo "<h2> Visualizando un recurso -$con-</h2>";
[Sun Oct 04 18:24:08.426281 2020] [php7:error] [pid 7883] [client ::1:35968] PHP Fatal error: Uncaught Error: Object of class mysqli could not be converted to string in /var/www/prueba/8.php:3\nStack trace:\n#0 {main}\n thrown in /var/www/prueba/8.php on line 3
|
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
</div>