by php 数组按月group_php数组

慕标琳琳

我只是把它扔在一起,受.NET LINQ的启发<?php // callable type hint may be "closure" type hint instead, depending on php versionfunction array_group_by(array $arr, callable $key_selector) {

  $result = array();

  foreach ($arr as $i) {

    $key = call_user_func($key_selector, $i);

    $result[$key][] = $i;

  }  

  return $result;}

 $data = array(

        array(1, "Andy", "PHP"),

        array(1, "Andy", "C#"),

        array(2, "Josh", "C#"),

        array(2, "Josh", "ASP"),

        array(1, "Andy", "SQL"),

        array(3, "Steve", "SQL"),

    );$grouped = array_group_by($data, function($i){  return $i[0]; });var_dump($grouped);?>瞧,你得到了array(3) {

  [1]=>

  array(3) {

    [0]=>

    array(3) {

      [0]=>

      int(1)

      [1]=>

      string(4) "Andy"

      [2]=>

      string(3) "PHP"

    }

    [1]=>

    array(3) {

      [0]=>

      int(1)

      [1]=>

      string(4) "Andy"

      [2]=>

      string(2) "C#"

    }

    [2]=>

    array(3) {

      [0]=>

      int(1)

      [1]=>

      string(4) "Andy"

      [2]=>

      string(3) "SQL"

    }

  }

  [2]=>

  array(2) {

    [0]=>

    array(3) {

      [0]=>

      int(2)

      [1]=>

      string(4) "Josh"

      [2]=>

      string(2) "C#"

    }

    [1]=>

    array(3) {

      [0]=>

      int(2)

      [1]=>

      string(4) "Josh"

      [2]=>

      string(3) "ASP"

    }

  }

  [3]=>

  array(1) {

    [0]=>

    array(3) {

      [0]=>

      int(3)

      [1]=>

      string(5) "Steve"

      [2]=>

      string(3) "SQL"

    }

  }}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值