Преобразование ассоциативного массива в простой массив его значений в php

88

Я хочу преобразовать массив:

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

к

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

Я старался

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

который отзывается эхом:

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

Так что я могу сделать

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

и он печатает то же самое.

... но я не могу использовать $myarrayфункцию вместо массива, введенного вручную, потому что функция не видит его как массив или что-то в этом роде.

Что мне здесь не хватает?

ItsGeorge
источник
Это нигде не сработает, потому что вы передаете строку, а не фактический массив. см. ответ @redreggae о том, как получить только значения.
sachleen 03
Возможный дубликат ассоциативно-числового массива в PHP
totymedli

Ответы:

11

Вам следует использовать array_values() функцию .

Марио Нэтер
источник
Да, вот и все. Я пробовал это раньше, но, должно быть, делал что-то не так. Вот последняя функция, которую я использовал ... get_terms (array_values ​​((get_taxonomies ('', 'names'))), $ args)
ItsGeorge
0

создать новый массив, использовать цикл foreach в PHP, чтобы скопировать все значения из ассоциативного массива в простой массив

      $data=Array(); //associative array

      $simple_array = array(); //simple array

      foreach($data as $d)
      {
            $simple_array[]=$d['value_name'];   
      }
code_10
источник