导航:首页 > 编程语言 > php数组元素的和

php数组元素的和

发布时间:2024-12-11 01:22:00

A. php数组函数序列之array_sum() - 计算数组元素值之和

array_sum()定义和用法
array_sum()
函数返回数组中所有值的总和。
如果所有值都是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数。
PHP
4.2.1
之前的版本修改了传入的数组本身,将其中的字符串值转换成数值(大多数情况下都转换成了零,根据具体制而定)。
语法
array_sum(array)
参数
描述
array
必需。规定输入的数组。
例子1
复制代码
代码如下:
<?php
$a=array(0=>"5",1=>"15",2=>"25");
echo
array_sum($a);
?>
输出:
45
例子2
复制代码
代码如下:
<?php
$a=array(0=>5,1=>15,2=>25);
echo
array_sum($a);
?>
输出:
45
例子3
复制代码
代码如下:
<?php
$a=array(0=>5,1=>15.5,2=>25);
echo
array_sum($a);
?>
输出:
45.5
例子4
复制代码
代码如下:
<?php
$a=array(0=>5,1=>"15s",2=>25);
echo
array_sum($a);
?>
输出:
45
例子5
复制代码
代码如下:
<?php
$a=array(0=>5,1=>"s15s",2=>25);
echo
array_sum($a);
?>
输出:
30

B. PHP数组计算 如下数组$arr,求方法随机对数组的值相加,求和为指定值:如(690),输出:405+180+105=690

<?php

$arr=[1,2,3,4,5,6,7,8,9];

/**
*根据某个值对数组中的元素进行分组
*/
functiongetGroupBySum($arr,$sum){
$len=count($arr);
$result=[];
//for1
for($i=0;$i<$len;$i++){
//for2
for($j=1;$j<$len-$i;$j++){
$tmp=array_slice($arr,$i+1,$j);
array_unshift($tmp,$arr[$i]);
if(array_sum($tmp)==$sum){
$result[]=$tmp;
}
}
//for3
for($k=$i+1;$k<$len;$k++){
if(($arr[$i]+$arr[$k])==$sum){
$result[]=[$arr[$i],$arr[$k]];
}
}
}

return$result;
}

print_r(getGroupBySum($arr,10));

打印结果:

Array
(
[0]=>Array
(
[0]=>1
[1]=>2
[2]=>3
[3]=>4
)

[1]=>Array
(
[0]=>1
[1]=>9
)

[2]=>Array
(
[0]=>2
[1]=>8
)

[3]=>Array
(
[0]=>3
[1]=>7
)

[4]=>Array
(
[0]=>4
[1]=>6
)

)

函数getGroupBySum的算法解释:

我只能解释到这里了,剩下的只可意会。

---------------------------2017/2/16/19:45--------------

下班回去的途中,仔细思考了一下,我上面的函数还没有找到 1、2、7与1、3、6等等,所以它是错的。

我对题目的理解是:数组中任意个元素的和等于某个值,把这些元素组合找出来。

如果没有理解错题意的话,我写不出来这种算法,组合太多了。

C. php中数组相加除六怎么打

//是将每个数组元素相加吗?
$ary=[1,2,3,4,5];

$number=array_sum($ary)/6;

echo$number;

D. php中定义索引数组a,求数组的和、平均值

和:array_sum($a);
平均值:array_sum($a)/count($a);

E. php两个数组相加,依据数组中某一个元素的值,如果相同,就加入该列中,怎么写

//暂时认为你的第一个数组为$a,第二个数组为$b,利用PHP的foreach循环可以实现类似功能
<?php

//首先计算哪个数组元素少,最大限度节省运算量
$ca = count($a);
$cb = count($b);

//第二个数组元素少
if ($a>=$b) {
$arr = &$a;
$typeid = $b;
//第一个数组元素少
} else {
$arr = &$b;
$typeid = $a;
}

//取得要比较的typeid数组和药赋值的title数组
$tid = array();
$title = array();
foreach ($typeid as $k => $v){
$tid[] = $v['type_id'];
$title[] = $v['title'];
}

//开始指向相加计算
foreach ($arr as $k => $v){
if (in_array($arr[$k]['type_id'], $tid)) {
$arr[$k]['title'] = $title[k];
}
}

?>

F. PHP中有没有合并数组值的函数(或者小技巧)

1. 最简单的办法:使用 +

下列的代码:

<?php
$r1 = array('a'=>1,'b'=>3,'c'=>5,'d'=>7,'e'=>9);
$r2 = array('f'=>2,'g'=>4,'h'=>6,'i'=>8,'j'=>10);
$r = $r1+$r2;
echo '<pre>';
print_r($r);
echo '</pre>';
?>
代码输出结果:
Array
(
[a] => 1
[b] => 3
[c] => 5
[d] => 7
[e] => 9
[f] => 2
[g] => 4
[h] => 6
[i] => 8
[j] => 10
)

但这种办法有个需要注意的地方:两个关键字相同的元素会只保留一个,即$r1+r2,则$r1中的数据保留,这个在特殊场合也可能刚好用上也说不定。

2. 使用array_merge() 函数:

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>
代码输出结果:
Array
(
[color] => green
[0] => 2
[1] => 4
[2] => a
[3] => b
[shape] => trapezoid
[4] => 4
)

阅读全文

与php数组元素的和相关的资料

热点内容
圆和多边形的绘制命令分别为 浏览:385
如何搭建sst服务器 浏览:733
运行程序加密软件 浏览:532
中小型企业云方案和物理服务器 浏览:644
比例作用控制算法 浏览:257
单片机元件名称及图片 浏览:706
米家app怎么设置自定义情景模式 浏览:81
压缩机怎么做成洗车泵 浏览:134
农行app的手机号不用了怎么改 浏览:401
中国人保app怎么注销账号 浏览:521
实数已知算法规律题 浏览:808
怎么解除电话加密号码 浏览:821
九分达人pdf 浏览:320
什么算法看是否有回路 浏览:382
系统自检命令 浏览:149
荣威服务器质量怎么样 浏览:342
安卓如何禁用设备服务 浏览:426
饥荒实用控制台命令 浏览:764
手机app怎么注册 浏览:33
基于51单片机的频率计设计 浏览:718