Chuyển đổi một mảng kết hợp thành một mảng đơn giản chứa các giá trị của nó trong php


88

Tôi muốn chuyển đổi mảng:

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

đến

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

Tôi đã thử

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

vọng lại:

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

Vì vậy, tôi có thể làm

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

và nó in cùng một thứ.

... nhưng tôi không thể sử dụng $myarraytrong một hàm thay cho mảng được nhập theo cách thủ công vì hàm không xem nó là mảng hay thứ gì đó.

Tôi còn thiếu gì ở đây?


Nó sẽ không hoạt động ở bất cứ đâu vì bạn đang truyền một chuỗi, không phải một mảng thực tế. xem câu trả lời của @ redreggae để biết cách chỉ nhận các giá trị.
sachleen

Có thể trùng lặp của kết hợp với mảng số trong PHP
totymedli

Câu trả lời:



11

Bạn nên sử dụng array_values() chức năng .


Đúng vậy. Tôi đã thử nó ngay nhưng chắc tôi đã làm sai điều gì đó. Dưới đây là các chức năng chính thức tôi đã kết thúc bằng ... get_terms (array_values ((get_taxonomies ( '', 'tên'))), $ args)
ItsGeorge

0

tạo một mảng mới, sử dụng vòng lặp foreach trong PHP để sao chép tất cả các giá trị từ mảng liên kết vào một mảng đơn giản

      $data=Array(); //associative array

      $simple_array = array(); //simple array

      foreach($data as $d)
      {
            $simple_array[]=$d['value_name'];   
      }
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.