Перетворити асоціативний масив на простий масив його значень у php


88

Я хотів би перетворити масив:

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

до

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

я намагався

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

що лунає:

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

Тож я можу це зробити

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

і друкує точно те саме.

... але я не можу використовувати $myarrayфункцію замість введеного вручну масиву, оскільки функція не бачить його як масив чи щось інше.

Чого мені тут не вистачає?


Це ніде не буде працювати, оскільки ви передаєте рядок, а не фактичний масив. див. відповідь @ redreggae про те, як отримати лише значення.
sachleen 03.03.13

Відповіді:



11

Вам слід скористатися array_values() функцією .


Так, це було все. Я намагався це раніше, але, мабуть, робив щось не так. Ось остання функція, яку я закінчив, використовуючи ... get_terms (array_values ​​((get_taxonomies ('', 'names'))), $ args)
ItsGeorge 03.03.13

0

створити новий масив, скористатися циклом foreach у PHP, щоб скопіювати всі значення з асоціативного масиву в простий масив

      $data=Array(); //associative array

      $simple_array = array(); //simple array

      foreach($data as $d)
      {
            $simple_array[]=$d['value_name'];   
      }
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.