2016-03-29 10 views
0

を使用して、同じ値のアイテムを1つの行にグループ化します。これは、アイテムの値のリストとそれに対応する価格を出力するphp foreachステートメントを持っていれば簡単です。リスト内の同じ値を持つ項目のリストの項目。 たとえば アイテムの配列は次のようなものです。PHPのforeachステートメント

 ID Values price 
     1 Apple 10 
     2 Mango 24 
     3 Apple 30 
     4 Mango 50 

は今、私はこれは私が持っているものである彼らはこれは私が

 Values  price 
     Apple  40 
     Mango  74 

を期待ワットであるPHPのforeach文 を使用して同じ値を持っているので、この4行からわずか2行を持つことができるようにしたいです誰かがここ

  ... 
      foreach($v as $kk=>$vv){ 

        $values= $vv['Values']; 
        $price= $vv['Price']; 

        echo $values.'---'.$price.'<br/>'; 

       } 
+2

なぜSQLで 'GROUP BY'と' SUM'を使うことができるのですか? (私は*あなたのデータがDBから来たと仮定しています) – h2ooooooo

+0

@ h2oooooooはい、SQLを使ってこのbuhを実行できます。それは不可能ですか? – George

+0

確かに可能ですが、車のラジオがどんなラジオチャンネルを再生できるか知りたいときは、車全体を注文するようなものです。 200万行があるとします.MySQLが計算を実行して実際に必要な数バイトだけを返すときに、PHPにこのすべてを送信するのはなぜですか? – h2ooooooo

答えて

1

を助けることができれば、その点での知識のBUHイム欠如を試してみました、私は幸せになる、それを行うための方法です。

//Create your array to store informations 
$finalResult = array(); 

foreach($sqlResult as $key =>$value) 
{ 
    //Ex : if 'Apple' doesnt exist, create it 
    if(false === isset($finalResult[$key])) 
    { 
      $finalResult[$key] = 0; 
    } 
    //Increment with value 
    $finalResult[$key] += (int) $value; 
} 

var_dump($finalResult);