แปลงอาร์เรย์ที่เชื่อมโยงเป็นอาร์เรย์ธรรมดาของค่าใน php


89

ฉันต้องการแปลงอาร์เรย์:

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

คำตอบ:



11

คุณควรใช้ฟังก์ชั่นarray_values()


ใช่แล้ว ฉันกำลังลองดู แต่ฉันคงทำอะไรผิดพลาด นี่คือฟังก์ชันสุดท้ายที่ฉันใช้ ... get_terms (array_values ​​((get_taxonomies ('', 'names'))), $ args)
ItsGeorge

0

สร้างอาร์เรย์ใหม่ใช้ foreach loop ใน PHP เพื่อคัดลอกค่าทั้งหมดจาก Associative array ลงในอาร์เรย์ธรรมดา

      $data=Array(); //associative array

      $simple_array = array(); //simple array

      foreach($data as $d)
      {
            $simple_array[]=$d['value_name'];   
      }
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.