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?


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

Respuestas:



11

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


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'];   
      }
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.