phparraysmultidimensional-arrayimplode

Implode values of each row in a 2d array


I have an array of arrays:

$initial_array = [
    [
        'Site Name' => 'Sydney',
        'Product Name' => 'Admission',
        'Total Sales Value' => 3989.98,
        'Total Sales Quantity' => 570
    ],
    [
        'Site Name' => 'Sydney',
        'Product Name' => 'Admission Comp',
        'Total Sales Value' => 0.00,
        'Total Sales Quantity' => 195
    ]
];

That I want to use PHP to turn into a simple array as follows:

$translated_array = [
    'Sydney,Admission,3989.98,570',
    'Sydney,Admission Comp,0.00,195'
];

I've been playing with the array_values() function but cannot seem to get this right.


Solution

  • You can use implode function to convert the array into comma separated string. Since you want to convert each inner array into a string while keeping the array structure as it is, I have used a loop. You can use another way to reach to each inner array.

    You can read more about implodeHERE

    Try below

    <?php
    
    $final_array = [];
    
    foreach($initial_array as $new_array){
       $final_array[] = implode(',', $new_array)
    }