當前位置:首頁 » 編程語言 » php數組值相加

php數組值相加

發布時間: 2022-09-18 06:26:43

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

Ⅱ php數組值如何正確相加

//摘自php5手冊
<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?>

Ⅲ php裡面怎麼對數組中所有值求和

一維就用array_sum 二維就先取出要求和的鍵

Ⅳ 如何統計php數組值的和

首先,對於簡單的數組,可以使用array_sum函數來實現,函數的格式如下:

number array_sum ( array $array )

函數例子:

<?php
$a=array(2,4,6,8);
echo"sum(a)=".array_sum($a)." ";

$b=array("a"=>1.2,"b"=>2.3,"c"=>3.4);
echo"sum(b)=".array_sum($b)." ";
?>

以上常式會輸出:

sum(a) = 20
sum(b) = 6.9

此外,對於復雜格式的數組,可以自己使用foreach結構計算和,例如:

<?php
$a=array(1,2,3,4);
$s=0;
foreach($aas$v)$s+=$v;
echo"sum=$s";
?>

Ⅳ 求問php兩個二維數組中每個元素的相加

<?php
$array_1=array(array(0,1,2),array(3,4,5),array(6,7,8));
$array_2=array(array(0,1,2),array(3,4,5),array(6,7,8));
foreach($array_1as$k1=>$v1){
foreach($v1as$k2=>$v2){
$array_1[$k1][$k2]+=$array_2[$k1][$k2];
}
}
echo"<pre>";
print_r($array_1);
echo"</pre>";
?>

運行結果

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

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

[2] => Array
(
[0] => 12
[1] => 14
[2] => 16
)

)


望採納 Thx

Ⅵ PHP 這樣的數組如何將鍵相同的值相加

//給你寫段參考代碼吧:
$arr1=['a'=>20,'b'=>30,'c'=>40];
$arr2=['a'=>20,'b'=>30,'ggg'=>40];
$arr3=['a'=>20,'ddd'=>30,'c'=>40];
foreach($arr1as$key=>$val){
if(isset($arr2[$key])){
$arr1[$key]+=$arr2[$key];
}
if(isset($arr3[$key])){
$arr1[$key]+=$arr3[$key];
}
}
var_mp($arr1);

Ⅶ 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等等,所以它是錯的。

我對題目的理解是:數組中任意個元素的和等於某個值,把這些元素組合找出來。

如果沒有理解錯題意的話,我寫不出來這種演算法,組合太多了。

Ⅷ php如何將數組遍歷出來的結果相加

方法1,累加
<?php
$arr=array(1,2,3,4);
$sum=0;//設變數
foreach($arr as $value){
echo $value.'<br>';
$sum+=$value;//累加
}
echo $sum;//顯示

方法2,直接求
<?php
$arr=array(1,2,3,4);
echo array_sum($arr);

Ⅸ php判斷數組重復,並把重復的數據相加

遍歷一次就搞定了

既然你要把單號相同的加起來,就可以認為單號是唯一的,所以單號可以做key

$sourceArr=array();//這里就是你原始數據的數組
$newArr=array();//這里是相加後處理過的數組,以單號為key
foreach($sourceArras$v){
if(array_key_exists($v['id'],$newArr)){
$newArr[$v['id']]['fund']+=$v['fund'];
}else{
$newArr[$v['id']]=$v;
}
}

大概就是這么個意思,不過交易類型、賬務類型你可能還要再處理下。

如果最後想得到一個下標從0開始的,非關聯數組,再用array_values()函數處理下就OK了

Ⅹ PHP 多個數組合並 重新生成新的數組並按要求值相加

$aa='[{"id": 0, "num": "2", "name": "產品1", "price": "37", "amount": 74, "zdamount": 100}, {"id": 1, "num": "2", "name": "產品2", "price": "37", "amount": 74, "zdamount": 100}]';
$bb='[{"id": 0, "num": "3", "name": "產品1", "price": "37", "amount": 90, "zdamount": 110}, {"id": 1, "num": "5", "name": "產品2", "price": "37", "amount": 150, "zdamount": 180}]';
$cc='[{"id": 2, "num": "3", "name": "產品3", "price": "37", "amount": 90, "zdamount": 110}, {"id": 1, "num": "5", "name": "產品2", "price": "37", "amount": 150, "zdamount": 180}]';
$j_a = json_decode($aa,1);
$j_b = json_decode($bb,1);
$j_c = json_decode($cc,1);
$arr_list = [$j_a,$j_b,$j_c];//把數組扔進大數組,這樣可以隨意增加個數
$result = [];
foreach ($arr_list as $k=>$v) {//第一次循環,把原數組取出
foreach ($v as $key => $value) {//第二次循環,正式取出數據
if (isset($result[$value['id']])) {//如果有此id,則進行累加操作
$result[$value['id']]['num'] += $value['num'];
$result[$value['id']]['amount'] += $value['amount'];
$result[$value['id']]['zdamount'] += $value['zdamount'];
} else {//沒有此id則進行賦值操作
$result[$value['id']]['id'] = $value['id'];
$result[$value['id']]['price'] = $value['price'];
$result[$value['id']]['name'] = $value['name'];
$result[$value['id']]['num'] = $value['num'];
$result[$value['id']]['amount'] = $value['amount'];
$result[$value['id']]['zdamount'] = $value['zdamount'];
}
}
}
echo json_encode($result,320);//輸出結果,如果需要序列化鍵值,可以使用array_values($result)

熱點內容
羅布樂思賬號密碼手機號多少 發布:2025-01-11 18:00:55 瀏覽:401
在廣州什麼配置的車才能跑滴滴 發布:2025-01-11 18:00:52 瀏覽:891
安卓手機哪個生態好 發布:2025-01-11 17:56:01 瀏覽:272
資料庫數據的一致性 發布:2025-01-11 17:30:45 瀏覽:708
手機怎麼設置手勢安卓 發布:2025-01-11 17:15:54 瀏覽:965
威能壁掛爐解壓閥 發布:2025-01-11 17:15:53 瀏覽:560
突破伺服器ip限制 發布:2025-01-11 17:11:23 瀏覽:819
支付寶上傳憑證 發布:2025-01-11 17:10:29 瀏覽:877
怎麼打開行李箱的密碼鎖 發布:2025-01-11 17:09:51 瀏覽:594
蘋果怎麼刪除id賬號和密碼 發布:2025-01-11 17:09:50 瀏覽:785