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?


Ini tidak akan berfungsi di mana pun karena Anda meneruskan string, bukan array sebenarnya. lihat jawaban @ redreggae untuk mengetahui cara mendapatkan nilai saja.
sachleen

Jawaban:



11

Anda harus menggunakan array_values() fungsinya .


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'];   
      }
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.