① php计算二维数组中一维数组相同键名的,键值相加
$arr=array();
foreach($testas$v){
if(isset($arr[key($v)])){
$arr[key($v)]+=current($v);
}else{
$arr[key($v)]=current($v);
}
}
print_r($arr);
结果如图:
② php二维数组求和
$new = array();
foreach($array as $value){
//新的cid号存一个新的数组
if(empty($new[$value['cid']])){
$new[$value['cid']] = $value;
//存储IP进入数组,方便后续判断
$new[$value['cid']]['ip'] = array($value['order_ip']);
}else{
//累加amo的值
$new[$value['cid']]['order_amo'] += $value['order_amo'];
//判断IP是否为空或者是否重复
if(!empty($value['order_ip']) && !in_array($value['order_ip'],$new[$value['cid']])){
//拼接ip,并添加到IP数组,方便后续判断
$new[$value['cid']]['order_ip'] .= ','.$value['order_ip'];
$new[$value['cid']]['ip'] = array($value['order_ip']);
}
}
}
③ php 二维数组怎么取到里边的值并且求和
<?php
$arr = array(
array(
'id'=>2,
'img'=>'upload/10.jpg',
'name'=>'1111',
'num'=>4,
'ptol'=>444
),
array(
'id'=>1,
'img'=>'upload/10.jpg',
'name'=>'产品1',
'num'=>2,
'ptol'=>20
)
);
$sum = $arr[0]['ptol'] + $arr[1]['ptol'];
echo $sum;
// 输出 464
?>
如果还有更多...
$sum = 0;
for($i = 0; $i < count($arr); $i++) {
$sum += $arr[$i]['ptol'];
}
echo $sum;
④ php 二维数组求和
你这个二位数组里面不是有这个[xiaoji]
那么就foreach一下
$sum = 0;
foreach ($array as $key => $value ){
$sum += $array[$key]['xiaoji'];
}
echo $sum;
这里$array是你的数组的名字,$sum是全部[xiaoji]的和。
如果没有这个你可以
$sum = 0;
foreach ($array as $key => $value ){
$sum += $array[$key]['consume'] * $array[$key]['settlement'];
}
echo $sum;
同样 这里$array是你的数组的名字,$sum是全部['consume'] * ['settlement']的和。
如果是直接读数据库
SELECT SUM( `consume` * `settlement`) as sum FROM your_table
your_table是你的数据表的名字 直接查询出来的就是全部['consume'] * ['settlement']的总和。
不知道你问的是不是这个意思?
⑤ php 二维数组通过键名把值相加,生成新数组
foreach ($b as $nodeIndex => $oneNode)
{
foreach ($oneNode as $key => $value)
{
$a[$nodeIndex][$key] += $value;
}
}
print_r($a);
⑥ php二维数组怎么把相同name为小名的数组合并,并且他们的值c相加
你好,你可以如下操作
<?php
$new_arr=array();
foreach($arras$key=>$each){//遍历之前的数组
if(array_key_exists($each['name'])){//检测名字是否已经存在
$new_arr[$each['name']]['s']+=$each['s'];
}else{
$new_arr[$each['name']]=$each;
}
}
?>
希望能解决你的问题,望采纳
⑦ 在PHP中一个二维数组中的一维数组的让键名相同的 键值相加
不太清楚你的需求,array_push() 函数向第一个参数的数组尾部添加一个或多个元素,你可以定义一个数组,然后把两个数组合并一块,例如:$a=array('id'=1,'name'='n');$b=array('id'=2,'name'='m');$c=array();array_push($c,$a,$b);
⑧ php中计算二维数组中某一元素之和的函数是那个啊谢谢……
PHP数组的总结(很全面啊)
一、什么是数组
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。
二、声明数据
在PHP中声明数组的方式主要有两种:一是应用array()函数声明数组,一是直接为数组元素赋值。
1array()函数声明的数
一、什么是数组
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。
二、声明数据
在PHP中声明数组的方式主要有两种:一是应用array()函数声明数组,一是直接为数组元素赋值。
<1>array()函数声明的数组的方式array([mixed...])
参数mixed的语法为key=>value
如,<?php
$array=array("1"=>"编","2"=>"程","3"=>"词","4"=>"典");
print_r($array);
echo
"<br>";
echo
$array[1];
//注意:下标默认是从0开始
echo
$array[2];
echo
$array[3];
echo
$array[4];
?>
<2>直接为数组元素赋值。如果在创建数组时不知所创建数组的大小,或在实际编写程序时数组的大小可能发生变化,采用这种数组创建的方法较好。
如,<?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array);
//输出所创建数组的结构
?>
三、数组的类型
PHP支持两种数组:索引数组(indexed
array)和联合数组(associative
array),前者使用数字作为键,后者使用字符串作为键。
四、输出数组
在PHP中对数组元素输出,可以通过echo和print语句来实现,但这只能对数组中某一元素进行输出;要将数组结构输出则要使用print_r()函数,其语法:print_r(mixed
expression),参数expression为普通的整形、字符型或实型变量则输出该变量本身,如果该参数为数组,则按一定键值和元素的顺序显示出该数组中的所有元素。
五、数组的构造
一维数组:
当一个数组的元素是变量时,则称其为一维数组。
声明一位数组:
类型说明符
数组名[常量表达式];
二维数组:
当一个数组的元素是一个一位数组时,则称之为二维数组。
如,<?php
$str
=
array
(
"网络编程语言"=>array
("PHP","JSP","ASP"),
"体育项目"=>array
("m"=>"足球","n"=>"篮球"));
print_r
(
$str)
;
?>
六、遍历数组
遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询或其他功能。在PHP中遍历数组的方法有多种,下面介绍最常用的两种方法。
<1>使用foreach结构遍历数组;
<2>使用list()函数遍历数组,list()函数仅能用于数字索引的数组,且数字索引从0开始。
例:综合使用list()和each()认证用户登录:
<?php
//输出用户登录信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo
"$name=$value<br>";
}
}
?>
七、统计数组元素个数
在PHP中,使用count()函数对数组中的元素个数进行统计,语法为:int
coun(mixed
array[,int
mode]),其中参数array为必要参数,mode为可选参数,若选中COUNT——RECURSIVE(或1),本函数将递归地对数组数组。如,
<?php
$array
=
array("php"
=>
array("PHP函数参考大全","PHP程序开发范例宝典","PHP数据库系统开发完全手册"),
"asp"
=>
array("ASP经验技巧宝典")
);
//声明一个二维数组
echo
count($array,COUNT_RECURSIVE);//递归统计数组元素的个数,运行结果为6
?>
八、数组排序
<1>使用sort()和rsort()分别对数组进行升序和降序,如,
<?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$i<count($array);$i++){
echo
$array[$i]." ";
}
echo
"<br>";
$array1=rsort($array);
for($i=0;$i<count($array);$i++){
echo
$array[$i]."  ";
}
?>
运行结果:
5
9
18
26
37
42
66
88
88
66
42
37
26
18
9
5
<2>使用ksort()和asort()对关联数组排序
如果使用了相关数组,在排序后还要保持关键字和值的排序一致,这是就需要使用ksort()和asort()函
数,如,
<?php
$array=array('php'=>1,'jsp'=>2,'asp'=>3);
ksort($array);
print_r($array);
echo
"<br>";
asort($array);
print_r($array);
?>
运行结果:
Array
(
[asp]
=>
3
[jsp]
=>
2
[php]
=>
1
)
Array
(
[php]
=>
1
[jsp]
=>
2
[asp]
=>
3
)
⑨ 求问php两个二维数组中每个元素的相加
//假设$a、$b是你的两个数组,下面把$b的值加到$a上
foreach($aas$k1=>$v1){
foreach($v1as$k2=>$v2)$a[$k1][$k2]+=$b[$k1][$k2];
}
⑩ CSV文件操作,PHP如何对满足条件的二维数组进行求和
$阵列=阵列(
阵列(93001,3.99,'S',800),
阵列(93001,3.99,'S',3800),
阵列(93001,4,“ S',1000),
阵列(93003,4.01,'B',3300),
阵列(93003,4,'S',600),
阵列(93003,4, 'S',500),
阵列(93003,4,“B”,1000),
阵列(93003,4,“S”,1000),
阵列(93003,4 ,'S',200),
阵列(93003,3.99,'B',6700),
阵列(93003,4,'S',1600),
阵列(93022, 3.99,'S',14500),
阵列(93022,3.99,'S',800),
阵列(93103,3.99,'S',1000),
阵列(93103 3.99,'S',2000),
阵列(93103,3.99,'B',2000年),
阵列(93103,3.99,'S',1000),
);
$ = $收益率=阵列();
的foreach($阵列美元价值){
$数据[$值[0]。 “ - ”。美元的价值[1]。 “ - ”。值[2] ['A'] = $值[0];
$数据[$值[0]。 “ - ”。美元的价值[1]。 “ - ”。值[2] ['B'] = $值[1];
$数据[$值[0]。 “ - ”。美元的价值[1]。 “ - ”。值[2] ['C'] = $值[2];
$ [$值[0]。 “ - ”。美元的价值[1]。 “ - ”。值[2] ['值'] + = $值[3];
}
的foreach($ data的美元价值){
($值['C'] =='B'){
美元的价值= $ ['值'] * $值['B'];
} {
$数= - $值[VAL '] * $值['B'];
}
美元的回报[] =阵列($ ['A'],$值['B'],$值['C']值['值'],$号);
}
的回声“”;
的print_r(返回);/ /返回为最终结果
时间就是生命,没有理由浪费别人的时间,其实是无异于谋财害命。