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 05: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.
)