Un string es una secuencia de caracteres, PHP soporta operaciones de cadena’. Un string o cadena en PHP es como una matriz de bytes y un número entero que indica la longitud del búfer. En PHP, un carácter es lo mismo que un byte. Esto significa que PHP solo admite un conjunto de 256 caracteres y, por lo tanto, no ofrece soporte nativo de Unicode.
PHP soporta la formación de cadenas entre comillas simples y dobles. Tanto las representaciones ‘esto es una cadena simple’ como ‘esto es una cadena simple’ son válidas. PHP también tiene representaciones Heredoc y Newdoc del tipo de datos de cadena.
Cadena entre comillas simples
Una secuencia de caracteres entre comillas simples (el carácter ‘) es una cadena.
$str='this is a simple string';
Ejemplo
Si desea incluir una comilla simple literal, escálela con una barra diagonal inversa (\).
<?php
$str = 'This is a \'simple\' string';
echo $str;
?>
Le dará el siguiente resultado:
This is a 'simple' string
Ejemplo
Para especificar una barra diagonal inversa literal, duplíquela (\\).
<?php
$str = 'The command C:\\*.* will delete all files.';
echo $str;
?>
Aquí está su resultado:
The command C:\*.* will delete all files.
Ejemplo
Las secuencias de escape como «\r» o «\n» se tratarán literalmente y no se interpretará su significado especial. Las variables tampoco se expandirán si aparecen entre comillas simples.
<?php
$str = 'This will not expand: \n a newline';
echo $str . PHP_EOL;
$x=100;
$str = 'Value of x = $x';
echo $str;
?>
Producirá el siguiente resultado:
This will not expand: \n a newline
Value of x = $x
Cadena entre comillas dobles
Una secuencia de caracteres encerrada entre comillas dobles (» «) es otra representación de cadena.
$str="this is a simple string";
Las cadenas entre comillas simples y entre comillas dobles son equivalentes, excepto por su tratamiento de secuencias de escape. PHP interpretará ciertas secuencias de escape para caracteres especiales. Por ejemplo, «\r» y «\n».
Secuencia | Significado |
---|---|
\n | salto de línea (LF o 0x0A (10) en ASCII) |
\r | retorno de carro (CR o 0x0D (13) en ASCII) |
\t | pestaña horizontal (HT o 0x09 (9) en ASCII) |
\v | tabulación vertical (VT o 0x0B (11) en ASCII) |
\e | escape (ESC o 0x1B (27) en ASCII) |
\f | avance de formulario (FF o 0x0C (12) en ASCII) |
\\ | barra invertida |
\$ | Signo de dólar |
\» | comillas dobles |
¿Cómo escapar de caracteres octales y hexadémicos en PHP?
PHP soporta el escape de un número octal y un número hexadecimal a su carácter ASCII. Por ejemplo, el carácter ASCII de P es 80 en decimal. 80 en decimal a octal es 120. Del mismo modo, 80 en decimal a hexadecimal es 50.
Para escapar un carácter octal, prefíjelo con «\»; y para escapar de un carácter hexadecimal, prefíjelo con «\x».
<?php
$str = "000";
echo "PHP with Octal: ". $str;
echo PHP_EOL;
$str = "\x50\x48\x50";
echo "PHP with Hexadecimal: ". $str;
?>
Compruebe la salida −
PHP with Octal: PHP
PHP with Hexadecimal: PHP
Al igual que en las cadenas entre comillas simples, el escape de cualquier otro carácter dará como resultado que también se imprima la barra invertida. La característica más importante de las cadenas entre comillas dobles es el hecho de que los nombres de las variables se expandirán.
Ejemplo
Una cadena entre comillas dobles en PHP expande los nombres de las variables (las variables de PHP tienen el prefijo $ symbol). Para representar realmente un símbolo «$» en una cadena PHP, escápelo prefijando el carácter «\».
<?php
$price = 200;
echo "Price = $ $price";
?>
Obtendrá el siguiente resultado:
Price = $ 200
Operador de concatenación de cadenas
Para concatenar dos variables de cadena, PHP usa el operador de punto (.) −
<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>
Aquí, obtendrá el siguiente resultado:
Hello World 1234
En el ejemplo anterior, usamos el operador de concatenación dos veces. Esto se debe a que tuvimos que insertar una tercera cadena. Entre las dos variables de cadena, agregamos una cadena con un solo carácter, un espacio vacío, para separar las dos variables.
La biblioteca estándar de PHP incluye muchas funciones para el procesamiento de cadenas. Se pueden encontrar en la documentación oficial de PHP (https://www.php.net/manual/en/ref.strings.php).
La función strlen()
La función strlen() se utiliza para encontrar la longitud de una cadena.
Ejemplo
Encontremos la longitud de nuestra cuerda «¡Hola mundo!» −
<?php
echo strlen("Hello world!");
?>
Producirá el siguiente resultado:
12
La longitud de una cadena se usa a menudo en bucles u otras funciones, cuando es importante saber cuándo termina la cadena (es decir, en un bucle, querríamos detener el bucle después del último carácter de la cadena).
La función strpos()
La función strpos() se utiliza para buscar una cadena o un carácter dentro de una cadena.
- Si se encuentra una coincidencia en la cadena, esta función devolverá la posición de la primera coincidencia.
- Si no se encuentra ninguna coincidencia, devolverá FALSE.
Ejemplo
Veamos si podemos encontrar la cadena «world» en nuestra cadena −
<?php
echo strpos("Hello world!","world");
?>
Producirá el siguiente resultado:
6
Como puedes ver, la posición de la cadena «world» en nuestra cuerda es «6». La razón por la que es «6», y no «7», es que la primera posición de la cadena es «0» y no «1».