Easiest way to implode() a two-dimensional array?
This modifies your array using array_map, but probably for the better by turning it into a 1D array of tag_id
's. Then you can just use implode like normal:
$arr = array_map(function($el){ return $el['tag_id']; }, $arr);$str = implode(',', $arr);
If you don't want to modify your array than you can just do this:
$str = implode(',', array_map(function($el){ return $el['tag_id']; }, $arr));
You asked for a two-dimensional array, here's a function that will work for multidimensional array.
function implode_r($g, $p) { return is_array($p) ? implode($g, array_map(__FUNCTION__, array_fill(0, count($p), $g), $p)) : $p;}
I can flatten an array structure like so:
$multidimensional_array = array( 'This', array( 'is', array( 'a', 'test' ), array( 'for', 'multidimensional', array( 'array' ) ) ));echo implode_r(',', $multidimensional_array);
The results is:
This,is,a,test,for,multidimensional,array