PHP多维数组比较嵌套数组项并只保留唯一数组

时间:2012-03-06 05:53:43

标签: php arrays multidimensional-array

好的我有一个多维数组

Array(
    [items] [0] array(
             [0] array("name"=>"something", "price"=>"0.00", "desc"=>"blah blah blah"),
             [1] array("name"=>"other", "price"=>"0.00", "desc"=>"blah blah blah"),
             [2] array("name"=>"monkey", "price"=>"0.00", "desc"=>"blah blah blah"),
             [3] array("name"=>"something", "price"=>"0.00", "desc"=>"blah blah blah"),
             [4] array("name"=>"suit", "price"=>"0.00", "desc"=>"blah blah blah")
    ),
    [categories] [0] array("outter", "inner", "summer", "fall"),
    [subcategories] [0] array("outter", "inner", "summer", "fall")
)

(好吧,这是一个糟糕的手型打印,但你明白了)。我关注的是,“项目”是否有多个名称,我想删除该条目,但我真的不确定如何在没有编写一些大的丑陋的设置循环的情况下正确实现这一点。因此,我试图获得一些帮助,提供快速,优化和清洁的东西,而不是我想出的想法。

1 个答案:

答案 0 :(得分:1)

好的,这是一个循环。但是如果暂时将数组切换为关联数组并拉出值呢?

$assoc_items = array();

foreach($items as $item) {
  $assoc_items[$item['name']] = $item;
}

$result = array_values($assoc_items);

result现在包含$items中具有唯一名称的项目列表。