萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php 基礎有關問題二維數組求和

php 基礎有關問題二維數組求和

   php 基礎問題二維數組求和 !

  數組:

  $a = array(array("a"=>"aa","a1"=>1,"a2"=>1),array("a"=>"bb","a1"=>2,"a2"=>2),array("a"=>"cc","a1"=>3,"a2"=>3),

array("a"=>"aa","a1"=>1,"a2"=>1),array("a"=>"bb","a1"=>5,"a2"=>5))

  第一個鍵值相同的元素 求和

  結果

  $r = array(array("a"=>"aa","a1"=>2,"a2"=>2),array("a"=>"bb","a1"=>7,"a2"=>7),array("a"=>"cc","a1"=>3,"a2"=>3));

  ------解決方案--------------------

  $a = array(

  array("a" => "aa", "a1" => 1, "a2" => 1),

  array("a" => "bb", "a1" => 2, "a2" => 2),

  array("a" => "cc", "a1" => 3, "a2" => 3),

  array("a" => "aa", "a1" => 1, "a2" => 1),

  array("a" => "bb", "a1" => 5, "a2" => 5),

  );

  $res = array();

  foreach($a as $r) {

  if(! isset($res[$r['a']])) $res[$r['a']] = $r;

  else {

  $res[$r['a']]['a1'] += $r['a1'];

  $res[$r['a']]['a2'] += $r['a2'];

  }

  }

  print_r(array_values($res));

  Array

  (

  [0] => Array

  (

  [a] => aa

  [a1] => 2

  [a2] => 2

  )

  [1] => Array

  (

  [a] => bb

  [a1] => 7

  [a2] => 7

  )

  [2] => Array

  (

  [a] => cc

  [a1] => 3

  [a2] => 3

  )

  )

copyright © 萬盛學電腦網 all rights reserved