Convierta una matriz asociativa en una matriz simple de sus valores en php

88

Me gustaría convertir la matriz:

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

a

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

Lo intenté

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

que hace eco:

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

Entonces puedo hacer

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

e imprime exactamente lo mismo.

... pero no puedo usar $myarrayen una función en lugar de la matriz ingresada manualmente porque la función no la ve como matriz o algo así.

¿Que me estoy perdiendo aqui?

ItsGeorge
fuente
No funcionará en ninguna parte porque está pasando una cadena, no una matriz real. vea la respuesta de @ redreggae para saber cómo obtener solo los valores.
sachleen
Posible duplicado de matriz asociativa a numérica en PHP
totymedli

Respuestas:

206

simplemente use la array_valuesfunción:

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

Deberías usar la array_values() función .

Mario Naether
fuente
Sí, eso fue todo. Lo estaba intentando antes, pero debo haber estado haciendo algo mal. Aquí está la función final que terminé usando ... get_terms (array_values ​​((get_taxonomies ('', 'names'))), $ args)
ItsGeorge
0

cree una nueva matriz, use un bucle foreach en PHP para copiar todos los valores de la matriz asociativa en una matriz simple

      $data=Array(); //associative array

      $simple_array = array(); //simple array

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