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

熱點內容
arj壓縮與解壓批處理怎麼寫 瀏覽:658
php和大數據哪個好 瀏覽:930
未來最值得投資的加密貨幣 瀏覽:526
ascii碼是編譯的時候用嗎 瀏覽:781
壓縮機感應包可以通用嗎 瀏覽:412
方舟伺服器怎麼發布到搜索列表 瀏覽:270
xml防反編譯 瀏覽:241
數據傳輸加密系統技術方案 瀏覽:842
程序員沒有準備去面試 瀏覽:4
51單片機usb滑鼠 瀏覽:881
qq伺服器的ip地址查詢 瀏覽:112
java仿qq聊天 瀏覽:400
解壓的ipa重新打包 瀏覽:142
程序員那麼可愛vip版 瀏覽:240
程序員怎麼升職 瀏覽:243
圖形化命令按鈕vb 瀏覽:987
vcu盤加密怎麼設置 瀏覽:415
如何加密備份微信聊天記錄 瀏覽:529
安卓手機如何模擬鍵盤 瀏覽:932
查看dns地址命令 瀏覽:769