93
votes

I would like to convert the array:

Array ( 
[category] => category 
[post_tag] => post_tag 
[nav_menu] => nav_menu 
[link_category] => link_category 
[post_format] => post_format 
)

to

array(category, post_tag, nav_menu, link_category, post_format)

I tried

$myarray = 'array('. implode(', ',get_taxonomies('','names')) .')';

which echos out:

array(category, post_tag, nav_menu, link_category, post_format)

So I can do

echo $myarray;
echo 'array(category, post_tag, nav_menu, link_category, post_format)';

and it prints the exact same thing.

...but I can't use $myarray in a function in place of the manually entered array because the function doesn't see it as array or something.

What am I missing here?

3
It won't work anywhere because you're passing a string, not an actual array. see @redreggae's answer for how to get just the values.sachleen

3 Answers

217
votes

simply use array_values function:

$array = array_values($array);
11
votes

You should use the array_values() function.

2
votes

create a new array, use a foreach loop in PHP to copy all the values from associative array into a simple array

      $data=Array(); //associative array

      $simple_array = array(); //simple array

      foreach($data as $d)
      {
            $simple_array[]=$d['value_name'];   
      }