简体   繁体   中英

Implode Multi Dimensional Array to a single comma separated list in PHP

If I have an array like:

Array ( [0] => abcdef )
Array ( [0] => abcdef [1] => abcdef )
Array ( [0] => abcdef [1] => abcdef [2] => abcdef )
Array ( [0] => abcdef [1] => qwerty ) 

And want to create a comma separated list like:

abcdef, abcdef, abcdef, abcdef, abcdef, abcdef, abcdef, qwerty

How would I do this?

When I try and implode the array like this:

while($row = mysql_fetch_array($search)){ 
    $row2 = $row['scholarshipid']; 
    $newarray = unserialize($row2);
    $unique_array = array_unique($newarray, SORT_REGULAR);
    $commaList = implode(', ', $unique_array);
    echo "$commaList";
    //print_r($newarray); 
} 

$commaList = implode(', ', $unique_array);

I get:

abcdefabcdefabcdefabcdef, qwerty

As from the comments it turns out that the output which you show us comes from a loop. So you first have to collect all arrays in each iteration into 1 variable, which you then can implode, eg



while($row = mysql_fetch_array($search)){
    $row2 = $row['scholarshipid'];
    $newarray = unserialize($row2);
    $unique_array = array_unique($newarray, SORT_REGULAR);
    
}

you can do it like this UPDATE

$temp = array();
while($row = mysql_fetch_array($search)){ 
    $row2 = $row['scholarshipid']; 
    $newarray = unserialize($row2);
    $temp = array_merge($temp, $newarray);

}
$commaList = implode(', ', $temp);
print_r($commaList);

and it's all done :P

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM