Diferencia entre revisiones de «Programación en PHP/Cadenas»

Contenido eliminado Contenido añadido
Sin resumen de edición
Línea 12:
 
===Comillas simples===
Se basa en la delimitación del texto mediante comillas simples ( <font color="#FF0000">'''<nowiki> '</nowiki> '''</font> ). Esta es la forma más sencilla de construir una cadena, pero también la más estricta: Todo lo que aparece en el interior es integramente la cadena.
<source lang="php">
<pre>
<?php
$peras = 3;
Línea 20:
$frase2 = 'Tengo '.$manzanas.' manzanas y '.$peras.' peras';
echo $frase1 . ' - ' . $frase2;
?></presource>
<div style="padding: 10px 15px 10px 15px; background-color:#fee; border:1px dashed #2F6FAB; border-top:none; margin-top:0px">Tengo $manzanas manzanas y $peras peras. - Tengo 2 manzanas y 3 peras.</div>
Todo lo que introduzcamos aparecerá como tal y se almacenará como tal. En el caso de que necesitemos incluir una comilla simple en el texto, debemos ''escaparla''. Para ello usaremos la barra invertida ( '''<font color="#000080"> \''' </font> ) antes de la comilla ( <font color="#000080">'''\''''</font> ). En el caso de que deseemos añadir una barra invertida al final de una cadena o antes de una comilla simple, deberemos escapar la propia barra invertida ( <font color="#000080">'''\\'''</font> ). En cualquier otro caso, la barra invertida aparecerá normalmente.
<source lang="php">
<pre>
<?php
echo 'Ejemplo de \'cómo escapar varias comillas\',
de poner una barra invertida delante de una comilla \\\'
o de terminar la cadena con una barra invertida\\';
?></presource>
<div style="padding: 10px 15px 10px 15px; background-color:#fee; border:1px dashed #2F6FAB; border-top:none; margin-top:0px">
Ejemplo de 'cómo escapar varias comillas',
Línea 39:
 
Para esto existe una forma de cadena más flexible, pero con el inconveniente de que hay más cosas que debemos tener en cuenta a la hora de insertar símbolos especiales. Podemos en este caso introducir variables dentro de la cadena y éstas serán interpretadas como su valor, no como su nombre:
<source lang="php">
<pre>
<?php
$peras = 3;
Línea 46:
$frase2 = "Tengo \$manzanas manzanas y \$peras peras";
echo $frase1 . " - " . $frase2;
?></presource>
<div style="padding: 10px 15px 10px 15px; background-color:#fee; border:1px dashed #2F6FAB; border-top:none; margin-top:0px">Tengo 2 manzanas y 3 peras. - Tengo $manzanas manzanas y $peras peras.</div>
 
El funcionamiento de la barra invertida es similar a las cadenas de comillas simples, pero se aplica, no sólo también al dólar ( <font color="#000080">'''$'''</font> ), sino a una serie de letras que, cuando son escapadas, adquieren otro significado:
 
<table border="1">
::{| cellpadding="2" cellspacing="0" border="1"
<tr><td>\n</td><td>Nueva línea</td></tr>
|+
<tr><td>\r</td><td>Retorno de carro</td></tr>
|width="40"|&nbsp;&nbsp;\n
<tr><td>\t</td><td>Tabulador</td></tr>
|Nueva línea
<tr><td>\$</td><td>Signo del dólar</td></tr>
|-
<tr><td>\"</td><td>Comillas dobles</td></tr>
|&nbsp;&nbsp;\r
<tr><td>\\</td><td>Barra invertida</td></tr>
|Retorno de carro
<tr><td>\###</td><td>Carácter representado por 1, 2 ó 3 cifras ( '''#''' ) en código octal</td></tr>
|-
<tr><td>\x##</td><td>Carácter representado por 1 ó 2 cifras en código hexadecimal</td></tr>
|&nbsp;&nbsp;\t
</table>
|Tabulador
|-
|&nbsp;&nbsp;\$
|Signo del dólar
|-
|&nbsp;&nbsp;\"
|Comillas dobles
|-
|&nbsp;&nbsp;\\
|Barra invertida
|-
|&nbsp;&nbsp;\###
<tr><td>\###</td><td>|Carácter representado por 1, 2 ó 3 cifras ( '''#''' ) en código octal</td></tr>
|-
|&nbsp;&nbsp;\x##
<tr><td>\x##</td><td>|Carácter representado por 1 ó 2 cifras en código hexadecimal</td></tr>
|}
 
===Heredoc===
Línea 65 ⟶ 82:
 
Un ejemplo es el siguiente:
<presource lang="php"><?php
$peras = 3;
$manzanas = 2;
Línea 73 ⟶ 90:
'''\t$manzanas manzanas'''
FIN
?></presource>
<div style="padding: 10px 15px 10px 15px; background-color:#fee; border:1px dashed #2F6FAB; border-top:none; margin-top:0px">Tengo:
:3 peras