Open In App

How to create a string by joining the array elements using PHP ?

Last Updated : 19 Jul, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Share
Report
News Follow

We have given an array containing some array elements and the task is to join all the array elements to make a string. In order to do this task, we have the following methods in PHP:

Method 1: Using implode() Method:

The implode() method is used to join an array of elements that are separated by a string. Joining can be done with or without a separator.

Syntax:

string implode($separator, $array)

Example :

<?php
// PHP program to create a string by 
// joining the values of an array

// Function to get the string 
function get_string ($arr) {
    
    // Using implode() function to
    // join without separator 
    echo implode($arr); 
      
    // Using implode() function to
    // join with separator 
    echo implode("-", $arr); 
}

// Given array
$arr = array('Geeks','for','Geeks',"\n");

// function calling
$str = get_string ($arr); 
?>

Output
GeeksforGeeks
Geeks-for-Geeks-

Method 2: Using join() Method:

The join() method is used to join an array of elements that are separated by a string. Joining can be done with or without separator. The join() method is same as the implode() method.

Syntax:

string join($separator, $array)

Example :

<?php
// PHP program to create a string by 
// joining the values of an array

// Function to get the string 
function get_string ($arr){
    
    // Using join() function to
    // join without separator 
    echo join($arr); 
      
    // Using join() function to
    // Join with separator 
    echo join("-", $arr); 
}

// Given array
$arr = array('Geeks','for','Geeks',"\n");

// function calling
$str = get_string ($arr); 
?>

Output
GeeksforGeeks
Geeks-for-Geeks-

Method 3 :Using array_reduce()

In PHP, array_reduce() reduces an array to a single value using a callback function. To create a string from array elements, concatenate each element with a delimiter in the callback, starting with an initial empty string.

Example :

<?php
$array = ["apple", "banana", "cherry"];
$string = array_reduce($array, function($carry, $item) {
    return $carry . $item . ", ";
}, "");

$string = rtrim($string, ", "); // Remove trailing comma and space

echo $string; // Output: "apple, banana, cherry"
?>

Output
apple, banana, cherry

Using a Foreach Loop

This method involves initializing an empty string and iterating through the array elements to concatenate them.

Example: In this example, the joinArrayElements function takes an array and an optional separator as parameters. It initializes an empty string and uses a foreach loop to concatenate each element of the array with the separator. After the loop, it removes the trailing separator using rtrim if a separator was provided.

<?php
    function joinArrayElements($array, $separator = '') {
    $result = '';
    foreach ($array as $element) {
        $result .= $element . $separator;
    }
    // Remove the trailing separator
    if (!empty($separator)) {
        $result = rtrim($result, $separator);
    }
    return $result;
}

// Example usage
$array = ['Hello', 'World', 'from', 'PHP'];
$joinedString = joinArrayElements($array, ' ');
echo $joinedString; 
// Output: Hello World from PHP

$array2 = [1, 2, 3, 4, 5];
$joinedString2 = joinArrayElements($array2, '-');
echo $joinedString2;
// Output: 1-2-3-4-5

?>

Output
Hello World from PHP1-2-3-4-5

Using array_map() with implode()

The array_map() function is used to apply a callback function to each element of the array, allowing for transformations or formatting of each element before joining them using implode().

Example:

<?php
function joinArrayElementsMapImplode($array, $separator = '') {
    // Transform each element if needed (for example, trim spaces)
    $transformedArray = array_map('trim', $array);
    // Join the elements using implode
    return implode($separator, $transformedArray);
}


$array1 = ["   Hello  ", "  World", "  from  ", "  PHP  "];
$array2 = ["This", "is", "a", "test"];

echo "Joined String (with spaces trimmed): " 
  . joinArrayElementsMapImplode($array1, ' ') . PHP_EOL; 
echo "Joined String (no separator): " 
  . joinArrayElementsMapImplode($array2) . PHP_EOL; 
?>

Output
Joined String (with spaces trimmed): Hello World from PHP
Joined String (no separator): Thisisatest




Next Article

Similar Reads

three90RightbarBannerImg