Search code examples
phparraysstringimplodearray-unique

possible limitation of implode function in PHP


I have the following code that is not returning as I expected. I was hoping the final result would be a string:

$organizers = array_unique($organizers);     // this returns correctly
$organizers = implode(', ', $organizers);    // this returns nothing
var_dump($organizers);                        // no data appears here
exit;

The array_unique() function is returning data correctly and I can see the array it returns. To start, the $organizers array is a simple 1-D array of strings that all have small lengths under 20 chars. I think the issue might be that $organizers is more than 10,000 indices long. Are there limitations on the length of an array that can be imploded? Are there work-arounds for that? I cannot find anything in the manual, but I have tested this code thoroughly and I believe the error must be on implode().


Solution

  • I dont' know if there is a limitation, but what comes to my mind is taht you are also transforming an array into a string. This shouldn't be the problem in PHP, but try calling it a different variable for the result of implode?

    $organizers        = array_unique($organizers);     // this returns correctly
    $organizers_string = implode(', ', $organizers);    // this returns nothing
    
    // This gives it a different space