Implicando una matriz simple
se vería así
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
y eso devolvería esto
lastname,email,phone
genial, así que podría hacer esto en su lugar
$array = array('lastname', 'email', 'phone');
$comma_separated = implode("','", $array);
$comma_separated = "'".$comma_separated."'";
y ahora tengo lo que quiero, una bonita cadena csv
'lastname','email','phone'
¿Hay una mejor manera de hacer esto? Me parece que debería haber un parámetro opcional para la implosión. ¿Me estoy perdiendo algo?
$comma_separated = "''";
Respuestas:
No, la forma en que lo estás haciendo está bien.
implode()
solo toma 1-2 parámetros (si solo proporciona una matriz, une las piezas mediante una cadena vacía).fuente
fuente
<ul> <li> {!! implode('</li><li>', session('messages')) !!} </li> </ul>
Podrías usar
array_map()
:MANIFESTACIÓN
También tenga en cuenta que existe
fputcsv
si desea escribir en un archivo.fuente
fuente
No sé si es más rápido, pero podría guardar una línea de código con su método:
De
A:
fuente
Si desea utilizar bucles también puede hacer:
Demostración: http://codepad.org/O2kB4fRo
fuente
array_map
pero sin usararray_map
Alternativamente, puede crear una función de este tipo:
fuente
Si desea evitar los subsistemas fopen / fputcsv, aquí hay un fragmento que crea una cadena CSV de escape a partir de una matriz asociativa ...
O de una lista de objetos ...
Luego, puede generar la cadena como desee.
fuente
también puedes hacerlo de esta manera
fuente
Creo que esto es lo que intentas hacer
fuente
Otra opción posible, dependiendo de para qué necesite la matriz:
Esto pondrá '[' y ']' alrededor de la cadena, lo cual puede que desee o no.
fuente