怎么把一维数组中键相同的值相加 例如: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环境之后,输入地址,总是下载文件 求教一个程序功能思路(两头滑动效果) 有用过BEESCMS的吗请教一问题 mysql類型大小問題 100分求如何在现文件上传到指定路径同时把图片名字到数据库相应字段? smarttemplate出现问题。请指教 请教,怎样把EXCEL中的内容通过PHP导入到MYSQL或直接导入? php字符串里提取图片地址的正则该怎么写? 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++;
}