对多维数组的计数值进行分组



我不仅试图计算某个值在数组中出现的次数,而且还将输出限制为偶数结果。

    $quotes = array(
      array(
        'quote' => 1,
        'from' => 'NC',
      ),
      array(
        'quote' => 2,
        'from' => 'MA',
      ),
      array(
        'quote' => 3,
        'from' => 'OH',
      ),
      array(
        'quote' => 2,
        'from' => 'MA',
      ),
      array(
        'quote' => 1,
        'from' => 'NC',
      ),  
    );

我如何过滤这个数组来计算每个'quote'的次数,然后显示计数> 1的结果。

$result = array_map('unserialize',array_keys(array_diff(array_count_values(array_map('serialize',$quotes)),array(1))));

工作原理:

  1. 通过serialize
  2. 制作一维数组
  3. count all values
  4. array_diff
  5. 删除所有计数1的值
  6. 作为array_count_values将值放入键中,检索键作为值
  7. unserialize将其放回原设计

查看它的工作情况:http://codepad.viper-7.com/9RPjdK

相关内容

  • 没有找到相关文章

最新更新