Converta um array associativo em um array simples de seus valores em php

88

Eu gostaria de converter a matriz:

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

para

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

eu tentei

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

que ecoa:

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

Então eu posso fazer

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

e imprime exatamente a mesma coisa.

... mas eu não posso usar $myarrayem uma função no lugar do array inserido manualmente porque a função não o vê como array ou algo assim.

O que estou perdendo aqui?

ItsGeorge
fonte
Não funcionará em lugar nenhum porque você está passando uma string, não um array real. veja a resposta de @redreggae para saber como obter apenas os valores.
sachleen
Possível duplicata da matriz associativa para numérica em PHP
totymedli

Respostas:

206

simplesmente use a array_valuesfunção:

$array = array_values($array);
bitWorking
fonte
11

Você deve usar a array_values() função .

Mario Naether
fonte
Sim, foi isso. Eu estava tentando antes, mas devo ter feito algo errado. Aqui está a função final que acabei usando ... get_terms (array_values ​​((get_taxonomies ('', 'nomes'))), $ args)
ItsGeorge
0

crie um novo array, use um loop foreach em PHP para copiar todos os valores do array associativo em um array simples

      $data=Array(); //associative array

      $simple_array = array(); //simple array

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