如何创建一个将基于另一个数组创建多级数组的函数

时间:2012-12-06 00:14:15

标签: php function multidimensional-array

基本上我想创建一个函数,然后根据另一个函数创建一个多维数组。这是我需要创建的数组的格式(最终结果):

'options' => array (
        'one' => array (
            'label' => 'Option One',
            'value' => 'one'
        ),
        'two' => array (
            'label' => 'Option Two',
            'value' => 'two'
        ),
        'three' => array (
            'label' => 'Option Three',
            'value' => 'three'
        )
    )

这需要使用另一个用于存储wordpress类别的数组的函数创建:

$categories = get_categories('hide_empty=0&orderby=name');
$wp_cats = array();
foreach ($categories as $category_list ) {
       $wp_cats[$category_list->cat_ID] = $category_list->cat_name;
}       

这是我写的代码,试图完成我所描述的但无法使其工作的代码:

    function wcat2() {
    $i = 0;
    $categories = get_categories();
    foreach( $categories as $category ) {
        $i++;
        array (
        $i => array (
            $category->slug => $category->slug,
            $category->term_id  => $category->term_id
        ),
        );
    }
}

我缺少什么想法?非常感谢帮助。

更新:以下是我需要的说明: descriptin 1

description 2

1 个答案:

答案 0 :(得分:1)

可能是这样的:

function wcat2() {
    $out = array();
    $categories = get_categories();
    foreach( $categories as $category ) {
        $out[$category->term_id] = array(
            'label' => $category->slug,
            'value' => $category->term_id
        );
    }
    return array('options'=>$out);
}
print_r(wcat2());

创建一个空变量$ out,遍历类别,并在每个循环上以所需格式追加一个新数组。我不确定哪个是关于slug / term_id的,所以你可能需要切换它们。

相关问题