怎么把一维数组中键相同的值相加 例如:Array( [25] => 2 [29] => 2 [15] => 1 [19] => 1 [1] => 2 [5] => 2 [29] => 2)这样的数组把键相同的值相加 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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)那这个数组中键名是偶数的值相同的话,下面紧邻着的那个奇数的值就相加 <?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不是这样有序的,就不能怎么干了 <?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)} $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) $i=0;foreach($arr as $key=>$value)if(is_array($(value))){ var_dump($value[$i]);$i++;} 求大神帮忙,php递归转非递归! 错误码: 1307 Failed to CREATE PROCEDURE mysql创建存储过程失败,怎么解决 求PHP解密,最还能告诉下加密原理 请教最简便的PHP语句 PHP获取客户端IP相关问题 最近有招初级phper或者实习的吗...散分。哈 我想调用一周前发布的信息,这样就行了吧 php的页面,执行了一半就退出了,如何处理? 一个从来没有碰过的运行错误,求教~~ PHP+MYSQL HTML中调用PHP函数问题.求大神快点解答,急死了! 被一个一句话的rewrite难住了
(
[0] => 25
[1] => 2
[2] => 29
[3] => 2
[4] => 15
[5] => 1
[6] => 19
[7] => 1
[8] => 19
[9] => 2
[10] => 1
[11] => 2
)
那这个数组中键名是偶数的值相同的话,下面紧邻着的那个奇数的值就相加
// 创建一个简单的数组
$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不是这样有序的,就不能怎么干了
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)
}
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
)
foreach($arr as $key=>$value)
if(is_array($(value)))
{
var_dump($value[$i]);
$i++;
}