从get_categories中检索一个id数组

时间:2016-12-18 13:46:13

标签: php arrays get categories

我正在尝试从以下位置检索ID数组:

$categories = get_categories(array('hide_empty' =>false,'taxonomy'=>'product_cat', 'child_of' => 15));

当我用var_dump检查$ categories时,我得到了一切。 但是只需要term_ID。

我尝试了以下foreach循环:

foreach ($categories as $category) {
                        $option = $category->cat_ID;
                        var_dump($option);
                      }

var_dump现在显示:

int(16) int(37) int(41) int(42) int(17) int(38) int(29) int(40) int(30) int(31) int(32) int(33) int(34) int(36) 

我认为这将是所需的数组。我怎样才能将此数组传递给稍后的状态? 西奥

经过多次混淆后,我想理顺这个问题并发布对我有用的内容:

<?php 
$categoryX = [];
$parentID = XX; //id of parent
$category = get_categories( array(

        'hide_empty' =>false,
        'taxonomy'=>'product_cat',
        'child_of' => $parentID 
        ) );

        foreach( $categoriySort as $category ) {
        array_push($categorySortiment, $category->cat_ID);
        } 
        array_push($categorySortiment, $parentID);

然后我可以将变量$ categoryX分配给一个包含所有ID的数组以后的条件。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

以下声明了一个新数组,然后使用PHP的array_push()函数遍历将$ category-&gt; cat_ID值添加到$ categoryIDArray的类别。这导致一个数组只包含类别ID。

  $categoryIDArray = [];

  foreach ($categories as $category) {
    array_push($categoryIDArray, $category->cat_ID);
  }

然后你可以简单地将$ categoryIDArray传递给你需要的任何函数,如下所示:

$categories = getCategories( $categoryIDArray );

答案 1 :(得分:0)

$ all_Categories = array(); foreach($ category as $ category){$ all_Categories = $ category-&gt; cat_ID;}