Ubah array asosiatif menjadi array sederhana dari nilainya di php

89

Saya ingin mengonversi array:

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

untuk

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

Saya mencoba

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

yang bergema:

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

Jadi saya bisa melakukannya

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

dan mencetak hal yang persis sama.

... tetapi saya tidak dapat menggunakan $myarrayfungsi sebagai pengganti array yang dimasukkan secara manual karena fungsi tersebut tidak melihatnya sebagai array atau semacamnya.

Apa yang kulewatkan di sini?

IniGeorge
sumber
Ini tidak akan berfungsi di mana pun karena Anda meneruskan string, bukan array sebenarnya. lihat jawaban @ redreggae untuk mengetahui cara mendapatkan nilai saja.
sachleen
Kemungkinan duplikat dari asosiatif ke array numerik dalam PHP
totymedli

Jawaban:

11

Anda harus menggunakan array_values() fungsinya .

Mario Naether
sumber
Ya, itu dia. Saya mencobanya sebelumnya tetapi saya pasti telah melakukan sesuatu yang salah. Inilah fungsi terakhir yang akhirnya saya gunakan ... get_terms (array_values ​​((get_taxonomies ('', 'names'))), $ args)
ItsGeorge
0

buat array baru, gunakan foreach loop di PHP untuk menyalin semua nilai dari array asosiatif ke dalam array sederhana

      $data=Array(); //associative array

      $simple_array = array(); //simple array

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