Konvertieren Sie ein assoziatives Array in ein einfaches Array seiner Werte in PHP

88

Ich möchte das Array konvertieren:

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

zu

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

Ich habe es versucht

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

was widerhallt:

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

Also kann ich tun

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

und es druckt genau das gleiche.

... aber ich kann nicht $myarrayin einer Funktion anstelle des manuell eingegebenen Arrays verwenden, da die Funktion es nicht als Array oder so sieht.

Was fehlt mir hier?

ItsGeorge
quelle
Es funktioniert nirgendwo, weil Sie eine Zeichenfolge übergeben, kein tatsächliches Array. In der Antwort von @ redreggae erfahren Sie, wie Sie nur die Werte erhalten.
Sachleen
Mögliches Duplikat des assoziativen zum numerischen Array in PHP
totymedli

Antworten:

204

benutze einfach die array_valuesFunktion:

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

Sie sollten die array_values() Funktion verwenden .

Mario Naether
quelle
Ja, das war es. Ich habe es vorher versucht, aber ich muss etwas falsch gemacht haben. Hier ist die letzte Funktion, die ich letztendlich verwendet habe ... get_terms (array_values ​​((get_taxonomies ('', 'names'))), $ args)
ItsGeorge
0

Erstellen Sie ein neues Array, verwenden Sie eine foreach-Schleife in PHP, um alle Werte aus dem assoziativen Array in ein einfaches Array zu kopieren

      $data=Array(); //associative array

      $simple_array = array(); //simple array

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