String Concatenation in PHP

String concatenation is a very common and useful operation in PHP. There are many ways in which you might want to join strings together like prepending, appending, or combining them at some other point.

In this quick tip, I’ll teach you string concatenation in PHP. You’ll learn how to prepend or append strings in PHP and how to concatenate strings together at specific positions.

Prepend and Append Strings in PHP

Concatenating strings in PHP by either appending or prepending is actually pretty simple. There are two string operators in PHP meant for this specific purpose.

  1. You can use the concatenation operator . if you want to join strings and assign the result to a third variable or output it. This is useful for both appending and prepending strings depending on their position.
  2. You can use the concatenating assignment operator .= if you want to join the strings and assign the result to the same variable. It is a shorter way of appending the argument on the right side to the argument on the left side.

Here is an example which shows how to append strings in PHP:

$names = ['Adam', 'Andrew', 'Monty'];
foreach($names as $name) {
    $greeting = 'Hello ';
    $greeting .= $name;
    echo $greeting;
Hello Adam
Hello Andrew
Hello Monty

Here is an example that prepends different strings to a name in PHP:

$greetings = ['Hi', 'Hello', 'Hey'];
foreach($greetings as $greeting) {
    $text = $greeting.' Monty!';
    echo $text;
Hi Monty!
Hello Monty!
Hey Monty!

Concatenating Strings at a Particular Point

There are two common cases when you need to join strings at some place other than the beginning or the end of a string. These are splitting the main string at a particular index, or splitting the main string after a particular word. We will cover both these situations in this section.

Concatenating Strings at a Particular Index

We can use the substr() function in PHP to split the main string in two parts at the desired index and then join the parts back together with our string in the middle.

$main_strings = ['Do you apples?', 'Can we mangoes?'];
$index = 7;
foreach($main_strings as $string) {
    $text = substr($string, 0, $index).'eat '.substr($string, $index);
    echo $text."\n";
// Do you eat apples?
// Can we eat mangoes?

In the above code, the value of the $index variable is simply the position at which we would like to concatenate our substring inside the main string.

Concatenating Strings Before or After a Particular Word

Concatenating a string before or after a particular word works just like joining strings at a particular index. The only extra step we need to take is to figure out the index. The strpos($haystack, $needle) function is perfect for this purpose. It simply finds the position of our $needle string inside the main text block or $haystack.

Here is an example of concatenating strings before a particular word.

$main_strings = ['Do you like apples?', 'They told me that they like apples very much.'];
foreach($main_strings as $string) {
    $index = strpos($string, 'apples');
    $text = substr($string, 0, $index).'eating '.substr($string, $index);
    echo $text."\n";
// Do you like eating apples?
// They told me that they like eating apples very much.

The big difference here is that we have moved the $index variable inside our loop. This is because the position of our word will probably be different in each string, and we need to adjust the value of the index accordingly.

The strpos() function gives us the position of the first character of our substring inside the main string. This makes it easier for us to concatenate the substring at the beginning of a particular word.

When adding substrings at the end of words, we also need to take the length of words into account. Adding the word length to our initial index gives us the correct position to concatenate the substring at the end of a particular word.

$main_strings = ['Do you like New York?', 'They told me that they like New York very much.'];
foreach($main_strings as $string) {
    $index = strpos($string, 'like') + strlen('like');
    $text = substr($string, 0, $index).' visiting'.substr($string, $index);
    echo $text."\n";
// Do you like visiting New York?
// They told me that they like visiting New York very much.

Final Thoughts

In this quick tip, I have covered different scenarios for concatenating strings in PHP. You should now be able to append, prepend, or join the strings at any other position you like.

The key to joining the strings at a particular place is to simply find the index. This is exactly what we did when we wanted to concatenate strings before or after a particular word.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

AdBlocker Detected!


Dear visitor, it seems that you are using an adblocker please take a moment to disable your AdBlocker it helps us pay our publishers and continue to provide free content for everyone.

Please note that the Brave browser is not supported on our website. We kindly request you to open our website using a different browser to ensure the best browsing experience.

Thank you for your understanding and cooperation.

Once, You're Done?
Back to top button