Converti un array associativo in un semplice array dei suoi valori in php


89

Vorrei convertire l'array:

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

per

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

Provai

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

che risuona:

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

Quindi posso farlo

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

e stampa esattamente la stessa cosa.

... ma non posso usarlo $myarrayin una funzione al posto dell'array inserito manualmente perché la funzione non lo vede come array o qualcosa del genere.

Cosa mi manca qui?


Non funzionerà da nessuna parte perché stai passando una stringa, non un array reale. vedere la risposta di @ redreggae su come ottenere solo i valori.
sachleen

Risposte:



11

Dovresti usare la array_values() funzione .


Sì, era così. Stavo provando prima, ma devo aver fatto qualcosa di sbagliato. Ecco l'ultima funzione che ho finito per usare ... get_terms (array_values ​​((get_taxonomies ('', 'names'))), $ args)
ItsGeorge

0

creare un nuovo array, utilizzare un ciclo foreach in PHP per copiare tutti i valori dall'array associativo in un array semplice

      $data=Array(); //associative array

      $simple_array = array(); //simple array

      foreach($data as $d)
      {
            $simple_array[]=$d['value_name'];   
      }
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.