導航:首頁 > 編程語言 > php計算數組的和

php計算數組的和

發布時間:2024-04-12 13:58:18

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數組計算 如下數組$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等等,所以它是錯的。

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

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

❸ 璁捐′竴涓狿HP錛屽畾涔変竴涓鍑芥暟SUM錛岃$畻涓緇存暟緇刟rray鐨勫拰錛岀劧鍚庤繑鍥炪

<?php
function SUM($oArray){
echo array_sum($oArray);
}
$a = array ('a' => 1, 'b' => 2);
SUM($a);
?>

❹ PHP-Array函數簡介-數組操作-php實例教程

count()計算數組中的元素數目或對象中的屬性個數。3current()返回數組中的當前元素。3each()返回數組中當前的鍵/值對並將數組指針向前移動一步。3end()將數組的內部指針指向最後一個元素。3extract()從數組中將變數導入到當前的符號表。3in_array()檢查數組中是否存在指定的值。4key()從關聯數組中取得鍵名。3krsort()對數組按照鍵名逆向排序。3ksort()對數組按照鍵名排序。3list()把數組中的值賦給一些變數。3natcasesort()用「自然排序」演算法對數組進行不區分大小寫字母的排序。4natsort()用「自然排序」演算法對數組排序。4next()將數組中的內部指針向前移動一位。3pos()current()
的別名。3prev()將數組的內部指針倒回一位。3range()建立一個包含指定范圍的元素的數組。3reset()將數組的內部指針指向第一個元素。3rsort()對數組逆向排序。3shuffle()把數組中的元素按隨機順序重新排列。3sizeof()count()
的別名。3sort()對數組排序。3uasort()使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯。3uksort()使用用戶自定義的比較函數對數組中的鍵名進行排序。3usort()使用用戶自定義的比較函數對數組中的值進行排序。3

❺ 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];
}
}

?>

❻ php數組如何總計總和

$testarray=array('1|物品一|6','2|物品一|10','3|物品一|3','3|物品二|6','4|物品二|3','4|物品三|4','5|物品四|1');
$result=array();


foreach($testarrayas$w){
$text=explode('|',$w);
$name=$text[1];
$num=$text[2];
$result[$name]+=$num;
}


print_r($result);

試試這個

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

//假設$a、$b是你的兩個數組,下面把$b的值加到$a上
foreach($aas$k1=>$v1){
foreach($v1as$k2=>$v2)$a[$k1][$k2]+=$b[$k1][$k2];
}

❽ php數組用foreach循環後,怎麼求和呢

解答過程如下:

1、$arr=array(1,2,3,5);//定義一個數組

2、$sum=0;//定義一個求和後的變數

3、foreach($arras$key=>$item){//foreach遍歷數組$key是鍵值,$item是元素值。

4、$sum+=$item; //這句和$sum=$sum+$item;是一個意思

5、}echo$sum;//輸出求和後的變數值

PHP獨特的語法混合了C、Java、Perl以及 PHP 自創的語法。利於學習,使用廣泛,主要適用於Web開發領域。

(8)php計算數組的和擴展閱讀:

關於使用php的相關事項:

1、PHP的解釋運行機制:在 PHP 中,所有的變數都是頁面級的,無論是全局變數, 還是類的靜態成員,都會在頁面執行完畢後被清空。

2、設計缺陷,缺少關注PHP被稱作是不透明的語言,因為沒有堆棧追蹤,各種脆弱的輸入。沒有一個明確的設計哲學。

3、對遞歸的不良支持:PHP並不擅長遞歸。它能容忍的遞歸函數的數量限制和其他語言比起來明顯少。

❾ 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計算數組的和相關的資料

熱點內容
同人綠帽改編 瀏覽:624
生病的男人也要去找電影 瀏覽:565
邵氏全部電影 瀏覽:281
背著媽媽在樓道和男朋友韓劇 瀏覽:292
用php開發購物網站 瀏覽:966
歐美四級懷舊老片 瀏覽:979
比較黃的台灣電影 瀏覽:751
圖片批量在線壓縮 瀏覽:706
比較黃的穿越小說 瀏覽:250
電影人狗叫 瀏覽:507
取消壓縮管理的公司 瀏覽:117
打真軍的電影豆瓣 瀏覽:168
特斯拉app超級充電樁如何使用 瀏覽:423
男人懷孕電影袋鼠男人 瀏覽:507
如何刪去應用加密 瀏覽:469
服從命令聽指揮陌千依小說 瀏覽:762
《赤足驚魂》電影介紹 瀏覽:359
ic卡內數據如何傳到伺服器 瀏覽:22
安卓系統如何更改托盤 瀏覽:404
許志安演的電影有哪些 瀏覽:824