multidimensional convert array php arrays implode

convert - php associative array to string



Implode datos de una matriz multidimensional (7)

Aunque esta pregunta está relacionada con la conversión de cadenas, me encontré con esto al querer una forma fácil de escribir matrices en mis archivos de registro. Si solo quieres la información, y no te importa la limpieza exacta de una cadena, podrías considerar:

json_encode($array)

Soy un novato en PHP y necesito una solución rápida para el siguiente problema, pero parece que no puedo encontrar uno:

Tengo una matriz multidimensional como tal

Array ( [0] => Array ( [blogTags_id] => 1 [tag_name] => google [inserted_on] => 2013-05-22 09:51:34 [inserted_by] => 2 ) [1] => Array ( [blogTags_id] => 2 [tag_name] => technology [inserted_on] => 2013-05-22 09:51:34 [inserted_by] => 2 ) )

Quiero usar implode() para devolver de alguna manera una cadena separada por comas que contenga los valores de la clave tag_name como tal.

google, technology

¿Es posible lograr este efecto con dicha función? Si no, por favor sugiera una solución alternativa.


Bastante sencillo:

$input = array( array( ''tag_name'' => ''google'' ), array( ''tag_name'' => ''technology'' ) ); echo implode('', '', array_map(function ($entry) { return $entry[''tag_name'']; }, $input));

http://3v4l.org/ltBZ0

y nuevo en php v5.5.0, array_column :

echo implode('', '', array_column($input, ''tag_name''));


En esta situación implosión ($ array, '',''); funcionará, ya que solo quieres los valores. En PHP 5.6 trabajando para mí.

Si quiere implotar las claves y los valores en uno como:
blogTags_id: 1
tag_name: google

$toImplode=array(); foreach($array as $key => $value) { $toImplode[]= "$key: $value".''<br>''; } $imploded=implode('''',$toImplode);

Lo siento, entiendo mal, porque el título "Implode datos de una matriz multidimensional". Bueno, mi respuesta todavía la respondo de alguna manera, puede ayudar a alguien, por lo que no la eliminará.


Si quieres "tag_name" con "blogTags_id" asociado, usa: (PHP> 5.5)

$blogDatas = array_column($your_multi_dim_array, ''tag_name'', ''blogTags_id''); echo implode('', '', array_map(function ($k, $v) { return "$k: $v"; }, array_keys($blogDatas), array_values($blogDatas)));


muy simple ir por esto

$str; foreach ($arrays as $arr) { $str .= $arr["tag_name"] . ","; } $str = trim($str, '','');//removes the final comma


array_map es una función de devolución de llamada, donde puede jugar con la matriz pasada. Esto debería funcionar.

$str = implode('','', array_map(function($el){ return $el[''tag_id'']; }, $arr));


join('','', array_map(function (array $tag) { return $tag[''tag_name'']; }, $array))