導航:首頁 > 編程語言 > 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數組元素的和相關的資料

熱點內容
三個孔怎麼編程 瀏覽:119
雲伺服器如何提交作業 瀏覽:877
dvipdf 瀏覽:827
蘋果app怎麼移動不到app哪裡 瀏覽:371
解壓文件時密碼怎麼用 瀏覽:172
程序員怎麼規劃自己的未來 瀏覽:876
我的世界我18伺服器地址大全 瀏覽:732
程序員行業產業鏈 瀏覽:56
醫保app授權在哪裡 瀏覽:767
寶可夢大探險為什麼沒有伺服器 瀏覽:391
哪裡有國網App綁定 瀏覽:914
解壓小黃鴨臟了怎麼清洗 瀏覽:958
前端程序員做哪些副業 瀏覽:248
一線城市女程序員 瀏覽:588
修改窗口文件夾顯示方式為縮略圖 瀏覽:745
微信加密貨幣封號 瀏覽:707
java程序員實習生 瀏覽:955
天馬行空編程視頻教學 瀏覽:451
壓縮機控制圖 瀏覽:995
萊蕪hypermill四軸編程 瀏覽:432