Konwertuj tablicę asocjacyjną na prostą tablicę jej wartości w php


88

Chciałbym przekonwertować tablicę:

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

do

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

próbowałem

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

który odbija się echem:

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

Więc mogę to zrobić

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

i drukuje dokładnie to samo.

... ale nie mogę użyć $myarrayw funkcji zamiast ręcznie wprowadzonej tablicy, ponieważ funkcja nie widzi jej jako tablicy lub czegoś podobnego.

Czego tu brakuje?


To nie zadziała nigdzie, ponieważ przekazujesz ciąg, a nie rzeczywistą tablicę. zobacz odpowiedź @ redreggae, aby dowiedzieć się, jak uzyskać tylko wartości.
sachleen

Odpowiedzi:



11

Powinieneś użyć array_values() funkcji .


Tak, to było to. Próbowałem tego wcześniej, ale musiałem robić coś nie tak. Oto ostatnia funkcja, której użyłem ... get_terms (array_values ​​((get_taxonomies ('', 'names'))), $ args)
ItsGeorge

0

utwórz nową tablicę, użyj pętli foreach w PHP, aby skopiować wszystkie wartości z tablicy asocjacyjnej do prostej tablicy

      $data=Array(); //associative array

      $simple_array = array(); //simple array

      foreach($data as $d)
      {
            $simple_array[]=$d['value_name'];   
      }
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.