Diferencia entre revisiones de «Plantilla:ManuelRomero/PHP/DeclaracionesString»
De WikiEducator
(→Los Tipos String) |
(→Heredoc) |
||
Línea 412: | Línea 412: | ||
*Ideal para cadenas largas o de múltiples líneas. | *Ideal para cadenas largas o de múltiples líneas. | ||
*Se comporta como comillas dobles (interpreta variables y caracteres especiales). | *Se comporta como comillas dobles (interpreta variables y caracteres especiales). | ||
− | *Se define con | + | *Se define con una etiqueta de finalización '''<<<FIN''' y termina con la misma etiqueta '''FIN''' en una nueva línea sin espacios. |
+ | ;No puede haber ningún carácter no visible, acompañando a la etiqueta. | ||
{{MRM_Ejemplo|Title=Ejemplo de Heredoc| | {{MRM_Ejemplo|Title=Ejemplo de Heredoc| | ||
<source lang=php> | <source lang=php> | ||
− | $texto = <<< | + | $texto = <<<FIN |
Esta es una cadena | Esta es una cadena | ||
de múltiples líneas. | de múltiples líneas. | ||
Hola, $nombre. | Hola, $nombre. | ||
− | + | FIN; | |
</source> | </source> | ||
}} | }} | ||
Línea 425: | Línea 426: | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
===Nowdoc=== | ===Nowdoc=== | ||
*Similar a `Heredoc`, pero se comporta como comillas simples (no interpreta variables ni caracteres especiales). | *Similar a `Heredoc`, pero se comporta como comillas simples (no interpreta variables ni caracteres especiales). |
Revisión de 18:40 8 nov 2024
Los Tipos String
- Un string es un tipo formado por una cadena de caracteres representados por un sistema determinado de codificación (ASCII, ...).
- En PHP no existe el tipo carácter, si bien una cadena es tratada internamente como un array de caracteres (concepto que ya veremos).
- En PHP hay muchas funciones para trabajar con cadenas de caracteres. Las podemos ver en la página oficial:
"Esto es una cadena de caracteres";
https://www.php.net/language.types.string https://www.php.net/manual/es/ref.strings.php
- La resolución compleja de expresinoes simples {}, sirve para obtener el valor de la variable 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)
- Vamos a ver cómo se interpretan los diferentes tipos de variables en un string:
$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>
Variables de variables
https://www.php.net/manual/es/language.variables.variable.php
- Consiste en declarar el valor de una variable como otra variable.
- Imagina el sigueinte código
$fruta ="fresas"; $fresas = 25;
- Podemos hacerlo de la siguiente forma
$fruta ="fresas"; $$fruta = 25;
- En ambos casos $fresas valdrá 25
- Si declaramos una variable a variable con $$, lo que estamos haciendo es que el contenido de la variable también sea variable y contenga un valor
$asignatura="modulo" $$nombre ="BD"; // ahora diremos que $modulo vale BD
- En el ejemplo vemos que $nombre vale módulo, si ahora asignamos un valor a $$nombre, estaremos creando una variable (el contendio de $nombre), de la variable $nombre, y ese contenido tendrá un valor ("BD")
- Aquellos contenidos a los que asignemos valores se quedarán en el espacio de nombres de variables
Los Tipos String
Un string es una cadena de caracteres representada por un sistema de codificación, como ASCII o UTF-8. |
- Los sistemas de codificación de caracteres, como ASCII y UTF-8, son esenciales para representar texto en los ordenadores.
- ASCII (American Standard Code for Information Interchange) es una de las primeras codificaciones y representa los caracteres básicos en inglés, asignando un número a cada letra, número y símbolo.
- ASCII es limitado y solo soporta 128 caracteres.
- Para superar esta limitación y permitir la representación de caracteres de diferentes idiomas, se desarrollaron codificaciones como UTF-8, una versión de Unicode que es compatible con ASCII pero permite representar miles de caracteres adicionales.
- UTF-8 es muy flexible, ya que utiliza entre 1 y 4 bytes por carácter, dependiendo de la complejidad del símbolo.
- Este sistema es hoy el estándar en la web, ya que permite mostrar de forma correcta caracteres de casi todos los idiomas y símbolos especiales.
- Además de UTF-8, existen otros sistemas como ISO-8859 para caracteres latinos y UTF-16, otra forma de Unicode que usa 2 bytes por carácter, aunque es menos común en la web.
)