如何从多维数组中收集相同的键并存储在新数组中

时间:2014-09-22 16:47:42

标签: php arrays

问题 我想在多维数组中收集所有类似的键并将它们存储在一个新数组中。这是阵列:

$terms = Array ( 
    [1] => stdClass Object ( 
        [name] => Plumbing 
        [slug] => plumbing 
        [term_group] => 0 
    ) 
    [2] => stdClass Object ( 
        [name] => Test 
        [slug] => test 
        [term_group] => 0 
    ) 
)

我想制作一个只包含[slug]键的数组。

使用上面的数组尝试解决方案

function gatherSameKeys($array, $key) {
    $result = array();
    foreach($array as $sub) {
        $result[] = $sub[$key];
    }
    return $result;
}
?>

<?php $newarray = gatherSameKeys($terms, 'slug'); ?>


<pre>
    <?php
        print_r ($newarray);
    ?>
</pre>

1 个答案:

答案 0 :(得分:0)

根据您的转储,$terms是一个对象数组,而不是数组。

要访问对象的属性,请使用$sub-&gt;$key代替$sub[$key]