1. Code
  2. PHP
  3. PHP Scripts

Concatenación de cadenas en PHP

La concatenación de cadenas es una operación muy útil y común en PHP. Hay muchas maneras en las que es posible que quieras unir cadenas, como anteponiéndolas, anexándolas o combinándolas en algún otro punto. En este consejo rápido te enseñaré cómo concatenar cadenas en PHP. Aprenderás cómo anteponer o anexar cadenas en PHP y cómo concatenar cadenas en posiciones específicas.
Scroll to top

Spanish (Español) translation by Ana Paulina Figueroa (you can also view the original English article)

La concatenación de cadenas es una operación muy útil y común en PHP. Hay muchas maneras en las que es posible que quieras unir cadenas, como anteponiéndolas, anexándolas o combinándolas en algún otro punto.

En este consejo rápido te enseñaré cómo concatenar cadenas en PHP. Aprenderás cómo anteponer o anexar cadenas en PHP y cómo concatenar cadenas en posiciones específicas.

Antepón y anexa cadenas en PHP

Concatenar cadenas en PHP, ya sea anexando o anteponiendo, realmente es bastante sencillo. En PHP existen dos operadores de cadena diseñados para este propósito específico.

  1. Puedes usar el operador de concatenación . si quieres unir cadenas y asignar el resultado a una tercera variable o mostrarlo en pantalla. Este es útil tanto para anexar como para anteponer cadenas, dependiendo de su posición.
  2. Puedes usar el operador de asignación sobre concatenación .= si quieres unir las cadenas y asignar el resultado a la misma variable. Es una manera más corta de anexar el argumento del lado derecho al argumento del lado izquierdo.

A continuación puedes ver un ejemplo que muestra cómo anexar cadenas en PHP:

1
<?php
2
3
$names = ['Adam', 'Andrew', 'Monty'];
4
5
foreach($names as $name) {
6
    $greeting = 'Hello ';
7
    $greeting .= $name;
8
    echo $greeting;
9
}
10
11
/*

12
Hello Adam

13
Hello Andrew

14
Hello Monty

15
*/
16
?>

Aquí puedes ver un ejemplo que antepone diferentes cadenas a un nombre en PHP:

1
<?php
2
3
$greetings = ['Hi', 'Hello', 'Hey'];
4
5
foreach($greetings as $greeting) {
6
    $text = $greeting.' Monty!';
7
    echo $text;
8
}
9
10
/*

11
Hi Monty!

12
Hello Monty!

13
Hey Monty!

14
*/
15
?>

Concatenación de cadenas en un punto en particular

Existen dos casos comunes en los que necesitas unir cadenas en algún lugar que no es el principio ni el final de una cadena. Estos involucran la división de la cadena principal en un índice en particular, o la división de la cadena principal después de una palabra en particular. En esta sección cubriremos ambas situaciones.

Concatenación de cadenas en un índice en particular

Podemos usar la función substr() en PHP para dividir la cadena principal en dos partes en el índice deseado y luego unir las partes de nuevo con nuestra cadena en medio.

1
<?php
2
3
$main_strings = ['Do you apples?', 'Can we mangoes?'];
4
5
$index = 7;
6
foreach($main_strings as $string) {
7
    $text = substr($string, 0, $index).'eat '.substr($string, $index);
8
    echo $text."\n";
9
}
10
11
// Do you eat apples?

12
// Can we eat mangoes?

13
14
?>

En el código anterior, el valor de la variable $index es simplemente la posición en la que nos gustaría concatenar nuestra subcadena dentro de la cadena principal.

Concatenación de cadenas antes o después de una palabra en particular

El proceso de concatenar una cadena antes o después de una palabra en particular funciona igual que el proceso de unir cadenas en un índice en particular. El único paso adicional que debemos llevar a cabo es averiguar el índice. La función strpos($haystack, $needle) es perfecta para este propósito. Esta simplemente encuentra la posición de nuestra cadena $needle dentro del bloque de texto principal, o $haystack.

A continuación se muestra un ejemplo de la concatenación de cadenas antes de una palabra en particular.

1
<?php
2
3
$main_strings = ['Do you like apples?', 'They told me that they like apples very much.'];
4
5
foreach($main_strings as $string) {
6
    $index = strpos($string, 'apples');
7
    $text = substr($string, 0, $index).'eating '.substr($string, $index);
8
    echo $text."\n";
9
}
10
11
// Do you like eating apples?

12
// They told me that they like eating apples very much.

13
14
?>

La gran diferencia aquí es que hemos movido la variable $index al interior de nuestro bucle. Esto se debe a que la posición de nuestra palabra probablemente será diferente en cada cadena y necesitamos ajustar el valor del índice en consecuencia.

La función strpos() nos proporciona la posición del primer carácter de nuestra subcadena dentro de la cadena principal. Esto nos facilita el trabajo de concatenar una subcadena al comienzo de una palabra en particular.

Al añadir subcadenas al final de las palabras, también debemos tomar en cuenta la longitud de las mismas. Añadir la longitud de la palabra a nuestro índice inicial nos proporciona la posición correcta para concatenar una subcadena al final de una palabra en particular.

1
<?php
2
3
$main_strings = ['Do you like New York?', 'They told me that they like New York very much.'];
4
5
foreach($main_strings as $string) {
6
    $index = strpos($string, 'like') + strlen('like');
7
    $text = substr($string, 0, $index).' visiting'.substr($string, $index);
8
    echo $text."\n";
9
}
10
11
// Do you like visiting New York?

12
// They told me that they like visiting New York very much.

13
14
?>

Pensamientos finales

En este consejo rápido, he cubierto diferentes escenarios para concatenar cadenas en PHP. Ahora deberías poder anexar, anteponer o unir las cadenas en cualquier otra posición que desees.

La clave para unir las cadenas en un lugar en particular es simplemente encontrar su índice. Esto es exactamente lo que hicimos cuando quisimos concatenar cadenas antes o después de una palabra en particular.

Aprende PHP con un curso gratuito en línea

Si quieres aprender PHP, ¡consulta nuestro curso gratuito en línea sobre los fundamentos de PHP!

En este curso, aprenderás los fundamentos de la programación en PHP. Comenzarás con los conceptos básicos, aprendiendo cómo funciona PHP y escribiendo bucles y funciones simples en él. Luego avanzarás a la codificación de clases para una programación orientada a objetos (POO) sencilla. En el camino, aprenderás las habilidades más importantes para escribir aplicaciones para la web: tendrás la oportunidad de practicar la respuesta a las solicitudes GET y POST, analizar JSON, autenticar usuarios y usar una base de datos MySQL.

  • GRATIS
    PHP
    Fundamentos de PHP
    Jeremy McPeak