Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Return single column from a multi-dimensional array

I'm a novice at PHP and I need a quick solution to the following problem but can't seem to come up with one:

I have a multi-dimensional array like so

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         ) ) 

I want to use the implode() to somehow return a comma-separated string containing values of tag_name key like so.

google, technology 

Is it possible to achieve this effect with the said function? If not then please suggest an alternate solution.

like image 663
CobaltBabyBear Avatar asked May 23 '13 09:05

CobaltBabyBear


People also ask

How do you select a column in an array in Python?

We can use [][] operator to select an element from Numpy Array i.e. Example 1: Select the element at row index 1 and column index 2. Or we can pass the comma separated list of indices representing row index & column index too i.e.

How can get only values from multidimensional array in PHP?

First use RecursiveIteratorIterator class to flatten the multidimensional array, and then apply array_values() function to get the desired color values in a single array. Here are the references: RecursiveIteratorIterator class. array_values()


1 Answers

Quite simple:

$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


and new in php v5.5.0, array_column:

echo implode(', ', array_column($input, 'tag_name')); 
like image 111
Yoshi Avatar answered Sep 22 '22 15:09

Yoshi