douweng1935 2015-08-03 14:50
浏览 47
已采纳

如何从这个多维数组中提取唯一值?

How to extract unique values from this array. I've tried another suggestion...

$input = array_map("unserialize", array_unique(array_map("serialize", $input)));  

However because of the unix timestamp it wont work.

Im looking to extract only the second array index unique value and its array so should be left with..

// expected final 
array(
2 => array(...),
3 => array(..)
)



$arr = array (
 0 => 
    array (
     2 => 
       array (
        'date' => 1438173658,
        'user' => 'admin',
     ),
    ),
 1 => 
   array (
      2 => 
       array (
        'date' => 1438007944,
        'user' => 'admin',
    ),
   ),
 2 => 
    array (
        3 => 
          array (
       'date' => 1437746969,
       'user' => 'supes',
      ),
 )
)

Thanks.

  • 写回答

1条回答 默认 最新

  • duanjing1276 2015-08-03 15:06
    关注

    Might be a simpler way, but here is one:

    $result = array_intersect_key($arr,
                                  array_unique(array_map(function($v) {
                                                             return current($v)['user'];
                                                         },
                                                         $arr)));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退