array(
array( "qid"=>"1","option"=>"A","content"=>""),
array( "qid"=>"2","option"=>"B","content"=>""),
array( "qid"=>"3","option"=>"A","content"=>""),

array( "qid"=>"1","option"=>"B","content"=>""),
array( "qid"=>"2","option"=>"A","content"=>""),
array( "qid"=>"3","option"=>"B","content"=>""),

array( "qid"=>"1","option"=>"A","content"=>""),
array( "qid"=>"2","option"=>"A","content"=>""),
array( "qid"=>"3","option"=>"B","content"=>""),

array( "qid"=>"1","option"=>"B","content"=>""),
array( "qid"=>"2","option"=>"A","content"=>""),
array( "qid"=>"3","option"=>"A","content"=>""),

array( "qid"=>"1","option"=>"C","content"=>""),
array( "qid"=>"2","option"=>"D","content"=>""),
array( "qid"=>"3","option"=>"E","content"=>""),

array( "qid"=>"1","option"=>"D","content"=>""),
array( "qid"=>"2","option"=>"E","content"=>""),
array( "qid"=>"3","option"=>"C","content"=>""),);array(
array('qid'=>'1','A'=>'2','B'=>'2','C'=>'1','D'=>'1'),
array('qid'=>'2','A'=>'3','B'=>'1','D'=>'1','E'=>'1'),
array('qid'=>'3','A'=>'2','B'=>'2','C'=>'1','E'=>'1'),
);请问如何高效的从上面上面的数组得到下面的数组。

解决方案 »

  1.   

    $ar = array(
    array( "qid"=>"1","option"=>"A","content"=>""),
    array( "qid"=>"2","option"=>"B","content"=>""),
    array( "qid"=>"3","option"=>"A","content"=>""),array( "qid"=>"1","option"=>"B","content"=>""),
    array( "qid"=>"2","option"=>"A","content"=>""),
    array( "qid"=>"3","option"=>"B","content"=>""),array( "qid"=>"1","option"=>"A","content"=>""),
    array( "qid"=>"2","option"=>"A","content"=>""),
    array( "qid"=>"3","option"=>"B","content"=>""),array( "qid"=>"1","option"=>"B","content"=>""),
    array( "qid"=>"2","option"=>"A","content"=>""),
    array( "qid"=>"3","option"=>"A","content"=>""),array( "qid"=>"1","option"=>"C","content"=>""),
    array( "qid"=>"2","option"=>"D","content"=>""),
    array( "qid"=>"3","option"=>"E","content"=>""),array( "qid"=>"1","option"=>"D","content"=>""),
    array( "qid"=>"2","option"=>"E","content"=>""),
    array( "qid"=>"3","option"=>"C","content"=>""),);
    foreach($ar as $v) {
      if(! isset($r[$v['qid']][$v['option']])) $r[$v['qid']][$v['option']] = 0;
      $r[$v['qid']][$v['option']]++;
    }
    print_r($r);Array
    (
        [1] => Array
            (
                [A] => 2
                [B] => 2
                [C] => 1
                [D] => 1
            )    [2] => Array
            (
                [B] => 1
                [A] => 3
                [D] => 1
                [E] => 1
            )    [3] => Array
            (
                [A] => 2
                [B] => 2
                [E] => 1
                [C] => 1
            ))