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?


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

Antworten:



11

Sie sollten die array_values() Funktion verwenden .


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'];   
      }
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.