例如:
Array
(
    [25] => 2
    [29] => 2
    [15] => 1
    [19] => 1
    [1] => 2
    [5] => 2
    [29] => 2)这样的数组把键相同的值相加

解决方案 »

  1.   

    Array
    (
        [0] => 25
        [1] => 2
        [2] => 29
        [3] => 2
        [4] => 15
        [5] => 1
        [6] => 19
        [7] => 1
        [8] => 19
        [9] => 2
        [10] => 1
        [11] => 2
    )
    那这个数组中键名是偶数的值相同的话,下面紧邻着的那个奇数的值就相加
      

  2.   

    <?php
    // 创建一个简单的数组
    $a = array(1, 2, 3, 4, 5);
    foreach ($a as $key=>$val)
    {
        if(($key/2)==0)
        {
            $a[$key]=$a[$key]+$a[($key+1)];
        }
    }var_dump($a);?>如果 $a 中的key不是这样有序的,就不能怎么干了
      

  3.   

    <?php $arr = Array(
      0 => 25,
      1 => 2,
      2 => 29,
      3 => 2,
      4 => 15,
      5 => 1,
      6 => 19,
      7 => 1,
      8 => 19,
      9 => 2,
      10 => 1,
      11 => 2
    );$len = count($arr);
    $ret = array();
    for($i = 0; $i < $len; $i++) {
    $k = $arr[$i];
    $v = $arr[++$i];
    if(isset($ret[$k])) {
    $ret[$k] += $v;
    } else {
    $ret[$k] = $v;
    }
    }var_dump($ret);输出array(5) {
      [25]=>
      int(2)
      [29]=>
      int(2)
      [15]=>
      int(1)
      [19]=>
      int(3)
      [1]=>
      int(2)
    }
      

  4.   

    $ar = array(25, 2, 29, 2, 15, 1, 19, 1, 19, 2, 1, 2);$r = array();
    foreach($ar as $k=>$v)
      $r[intval($k/2)*2] += $v;print_r($r);$r = array();
    foreach($ar as $k=>$v)
      $r[intval($k/2)*2+1] += $v;print_r($r);Array
    (
        [0] => 27
        [2] => 31
        [4] => 16
        [6] => 20
        [8] => 21
        [10] => 3
    )
    Array
    (
        [1] => 27
        [3] => 31
        [5] => 16
        [7] => 20
        [9] => 21
        [11] => 3
    )
      

  5.   

    $i=0;
    foreach($arr as $key=>$value)
    if(is_array($(value)))
    {
       var_dump($value[$i]);
    $i++;
    }