【问题标题】:reducing/filtering an array减少/过滤数组
【发布时间】:2011-10-05 04:05:17
【问题描述】:

我有一个数组,我想过滤掉某些键。假设$subcats 等于这个数组:

Array
(
    [0] => stdClass Object
        (
            [term_id] => 4
            [term_group] => 0
            [term_taxonomy_id] => 4
            [taxonomy] => category
        )

    [1] => stdClass Object
        (
            [term_id] => 5
            [term_group] => 0
            [term_taxonomy_id] => 5
            [taxonomy] => category
        )

)

我想要的只是 term_ids 在它自己的数组中。

我已经尝试过 foreach 和 array_values,但目前我似乎无法理解它。我应该使用 array_filter 吗?

所以结果应该是$term_ids = array( 4, 5 );

【问题讨论】:

    标签: php arrays filter


    【解决方案1】:
    $termIds = array_map(function($i) { return $i->term_id; }, $subcats);
    

    此语法需要 PHP 5.3+。

    【讨论】:

    • 我的服务器只有 PHP 5.2.14
    • 然后您可以使用create_function 或使用循环来重现相同的内容。
    • function term_id($i) { return $i->term_id; } print_r( array_map( 'term_id', $subcats ) );
    猜你喜欢
    • 2019-10-01
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 2022-01-13
    • 2018-02-14
    • 2016-06-28
    相关资源
    最近更新 更多