posible limitación de la función de implosión en PHP

Tengo el siguiente código que no está regresando como esperaba. Esperaba que el resultado final fuera una cadena:

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

La función array_unique() está devolviendo datos correctamente y puedo ver la matriz que devuelve. Para empezar, el array $organizers es un conjunto simple de cadenas en 1-D que todas tienen longitudes menores de 20 caracteres. Creo que el problema podría ser que $organizers tiene más de 10.000 índices de largo. ¿Existen limitaciones en la longitud de una matriz que puede implosionarse? ¿Hay soluciones alternativas para eso? No puedo encontrar nada en el manual, pero he probado este código a fondo y creo que el error debe estar en implode() .

No sé si hay una limitación, pero lo que me viene a la mente es que también estás transformando una matriz en una cadena. Este no debería ser el problema en PHP, pero intente llamarlo una variable diferente para el resultado de implosión?

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

Editar: Y si por alguna razón implode () sigue siendo problemático.

 $organizers = array_unique($organizers); $neworganizers = ""; for($i = 0; $i < sizeof($organizers); $i++) { $neworganizers .= $organizers[$i]; if($i != sizeof($organizers) - 1) { $neworganizers .= ", "; } } 

// $ neworganizers ahora es el equivalente de lo que debe devolver .implode () cuando se llame a $ organizers

 $organizers = array(); $organizers[0] = "value1"; $organizers[1] = "value2"; $organizers[2] = "value3"; $organizers[3] = "value3"; $organizers = array_unique($organizers); // strips out last index $organizers = implode(', ', $organizers); // returns string of "value1, value2, value3" echo $organizers; 

Esto pareció funcionar en writecodeline.com/php/

También he tenido problemas con comstackciones php más antiguas cuando intenté explotar / implosionar mediante una cadena con caracteres especiales y fueron encapsuladas mediante comillas simples. Sé que suena loco, pero las comillas dobles pueden ser necesarias en algunos servidores.

Referencia: experiencia personal trabajando en servidores de producción más antiguos.

Odiaría pensar que estoy diciendo lo obvio, pero ¿no implosiona solo tomar una cadena como argumento? Tal vez debería ser algo como esto …

 $organizers = array_unique($organizers); //I'm guessing what you wanted was an array of arrays? $neworganizers = array(); for($i = 0; $i < sizeof($organizers); $i++) { $neworganizers[$i] = implode(", ", $organizers); } print_r($neworganizers);