$t1=Array ( [0] => 1320 [1] => 990 [2] => 895 [3] => 790 [4] => 775 [5] => 745 [6] => 740 [7] => 680 [8] => 665 [9] => 535 )
$t2=Array ( [0] => 南昌 [1] => 赣州 [2] => 吉安 [3] => 九江 [4] => 南昌 [5] => 九江 [6] => 萍乡 [7] => 省外 [8] => 南昌 [9] => 九江 ) $t1和$t2的长度一样,且他们的值都是相互对应的,
比如
[0] => 1320
[0] => 南昌
代表南昌的数字是1320,我现在想把里面的$t2里面的如果相同的分别相加。比如,里面的南昌 
[0] => 1320 
[0] => 南昌
---------------------
[4] => 775
[4] => 南昌
-----------------
[8] => 665
 [8] => 南昌 
怎么把这三个数字相加。形成一个下面的数组:
$t3=Array ( [2760] => 南昌 [990] => 赣州 [895] => 吉安 [2070] => 九江 [740] => 萍乡 [680] => 省外 ) 
如果用array_combine函数的话,请考虑一下键名相同被忽略的情况。

解决方案 »

  1.   

    $t1 = array ( 0 => 1320, 1 => 990, 2 => 895, 3 => 790, 4 => 775, 5 => 745, 6 => 740, 7 => 680, 8 => 665, 9 => 535 );
    $t2 = array ( 0 => '南昌', 1 => '赣州', 2 => '吉安', 3 => '九江', 4 => '南昌', 5 => '九江', 6 => '萍乡', 7 => '省外', 8 => '南昌', 9 => '九江' );
     
    foreach($t2 as $i=>$k) @$t3[$k] += $t1[$i];
    $t3 = array_flip($t3);
    print_r($t3);Array ( [2760] => 南昌 [990] => 赣州 [895] => 吉安 [2070] => 九江 [740] => 萍乡 [680] => 省外 )
      

  2.   


    如果出现键名相同的情况?怎么办? 比如,
    Array ( [990] => 南昌 [990] => 赣州 [895] => 吉安 [2070] => 九江 [740] => 萍乡 [680] => 省外 )这样子的情况,就会被覆盖一个,怎么办呢?
      

  3.   

    $t1=Array ( [0] => 1320 [1] => 990 [2] => 895 [3] => 790 [4] => 775 [5] => 745 [6] => 740 [7] => 680 [8] => 665 [9] => 535 )
    $t2=Array ( [0] => 南昌 [1] => 赣州 [2] => 吉安 [3] => 九江 [4] => 南昌 [5] => 九江 [6] => 萍乡 [7] => 省外 [8] => 南昌 [9] => 九江 ) 那我想计算出 t2,里面的不相同的数值分别有多少,有什么办法吗?
      

  4.   

    $t1=Array ( [0] => 1320 [1] => 990 [2] => 895 [3] => 790 [4] => 775 [5] => 745 [6] => 740 [7] => 680 [8] => 665 [9] => 535 )
    $t2=Array ( [0] => 南昌 [1] => 赣州 [2] => 吉安 [3] => 九江 [4] => 南昌 [5] => 九江 [6] => 萍乡 [7] => 省外 [8] => 南昌 [9] => 九江 ) 那我想计算出 t2,里面的不相同的数值分别有多少,有什么办法吗?可以做一个$t11= 这个是记录值的,
    $t22=这个是记录地区的。
    这样子可以确保不会出现重名的情况,但是不知道这样子能不能计算相加相同的。