新聞中心
php二維數(shù)組,相同值求和,并返回新的數(shù)組
?php
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)陸川免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
$old_arr?=?array(
array(1,107,100,83,44,111),
array(100,109,126,86,93,22),
array(10,113,126,86,93,22),
array(100,109,126,86,93,22),
);
$new_arr?=?array(0,0,0,0,0,0);
foreach($old_arr?as?$arr){
for?($i?=?0;?$i??6;?$i++)?{
$new_arr[$i]+=$arr[$i];
}
}
var_dump($new_arr);
?
截圖如下:
php二維數(shù)組求和
$new = array();
foreach($array as $value){
//新的cid號(hào)存一個(gè)新的數(shù)組
if(empty($new[$value['cid']])){
$new[$value['cid']] = $value;
//存儲(chǔ)IP進(jìn)入數(shù)組,方便后續(xù)判斷
$new[$value['cid']]['ip'] = array($value['order_ip']);
}else{
//累加amo的值
$new[$value['cid']]['order_amo'] += $value['order_amo'];
//判斷IP是否為空或者是否重復(fù)
if(!empty($value['order_ip']) !in_array($value['order_ip'],$new[$value['cid']])){
//拼接ip,并添加到IP數(shù)組,方便后續(xù)判斷
$new[$value['cid']]['order_ip'] .= ','.$value['order_ip'];
$new[$value['cid']]['ip'] = array($value['order_ip']);
}
}
}
php中計(jì)算二維數(shù)組中某一元素之和的函數(shù)是那個(gè)?。恐x謝……
PHP數(shù)組的總結(jié)(很全面啊)
一、什么是數(shù)組
數(shù)組就是一組數(shù)據(jù)的集合,把一系列數(shù)據(jù)組織起來,形成一個(gè)可操作的整體。數(shù)組的每個(gè)實(shí)體都包含兩項(xiàng):鍵和值。
二、聲明數(shù)據(jù)
在PHP中聲明數(shù)組的方式主要有兩種:一是應(yīng)用array()函數(shù)聲明數(shù)組,一是直接為數(shù)組元素賦值。
1array()函數(shù)聲明的數(shù)
一、什么是數(shù)組
數(shù)組就是一組數(shù)據(jù)的集合,把一系列數(shù)據(jù)組織起來,形成一個(gè)可操作的整體。數(shù)組的每個(gè)實(shí)體都包含兩項(xiàng):鍵和值。
二、聲明數(shù)據(jù)
在PHP中聲明數(shù)組的方式主要有兩種:一是應(yīng)用array()函數(shù)聲明數(shù)組,一是直接為數(shù)組元素賦值。
1array()函數(shù)聲明的數(shù)組的方式array([mixed...])
參數(shù)mixed的語法為key=value
如,?php
$array=array("1"="編","2"="程","3"="詞","4"="典");
print_r($array);
echo
"br";
echo
$array[1];
//注意:下標(biāo)默認(rèn)是從0開始
echo
$array[2];
echo
$array[3];
echo
$array[4];
?
2直接為數(shù)組元素賦值。如果在創(chuàng)建數(shù)組時(shí)不知所創(chuàng)建數(shù)組的大小,或在實(shí)際編寫程序時(shí)數(shù)組的大小可能發(fā)生變化,采用這種數(shù)組創(chuàng)建的方法較好。
如,?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array);
//輸出所創(chuàng)建數(shù)組的結(jié)構(gòu)
?
三、數(shù)組的類型
PHP支持兩種數(shù)組:索引數(shù)組(indexed
array)和聯(lián)合數(shù)組(associative
array),前者使用數(shù)字作為鍵,后者使用字符串作為鍵。
四、輸出數(shù)組
在PHP中對(duì)數(shù)組元素輸出,可以通過echo和print語句來實(shí)現(xiàn),但這只能對(duì)數(shù)組中某一元素進(jìn)行輸出;要將數(shù)組結(jié)構(gòu)輸出則要使用print_r()函數(shù),其語法:print_r(mixed
expression),參數(shù)expression為普通的整形、字符型或?qū)嵭妥兞縿t輸出該變量本身,如果該參數(shù)為數(shù)組,則按一定鍵值和元素的順序顯示出該數(shù)組中的所有元素。
五、數(shù)組的構(gòu)造
一維數(shù)組:
當(dāng)一個(gè)數(shù)組的元素是變量時(shí),則稱其為一維數(shù)組。
聲明一位數(shù)組:
類型說明符
數(shù)組名[常量表達(dá)式];
二維數(shù)組:
當(dāng)一個(gè)數(shù)組的元素是一個(gè)一位數(shù)組時(shí),則稱之為二維數(shù)組。
如,?php
$str
=
array
(
"網(wǎng)絡(luò)編程語言"=array
("PHP","JSP","ASP"),
"體育項(xiàng)目"=array
("m"="足球","n"="籃球"));
print_r
(
$str)
;
?
六、遍歷數(shù)組
遍歷數(shù)組中的所有元素是常用的一種操作,在遍歷的過程中可以完成查詢或其他功能。在PHP中遍歷數(shù)組的方法有多種,下面介紹最常用的兩種方法。
1使用foreach結(jié)構(gòu)遍歷數(shù)組;
2使用list()函數(shù)遍歷數(shù)組,list()函數(shù)僅能用于數(shù)字索引的數(shù)組,且數(shù)字索引從0開始。
例:綜合使用list()和each()認(rèn)證用戶登錄:
?php
//輸出用戶登錄信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo
"$name=$valuebr";
}
}
?
七、統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)
在PHP中,使用count()函數(shù)對(duì)數(shù)組中的元素個(gè)數(shù)進(jìn)行統(tǒng)計(jì),語法為:int
coun(mixed
array[,int
mode]),其中參數(shù)array為必要參數(shù),mode為可選參數(shù),若選中COUNT——RECURSIVE(或1),本函數(shù)將遞歸地對(duì)數(shù)組數(shù)組。如,
?php
$array
=
array("php"
=
array("PHP函數(shù)參考大全","PHP程序開發(fā)范例寶典","PHP數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊(cè)"),
"asp"
=
array("ASP經(jīng)驗(yàn)技巧寶典")
);
//聲明一個(gè)二維數(shù)組
echo
count($array,COUNT_RECURSIVE);//遞歸統(tǒng)計(jì)數(shù)組元素的個(gè)數(shù),運(yùn)行結(jié)果為6
?
八、數(shù)組排序
1使用sort()和rsort()分別對(duì)數(shù)組進(jìn)行升序和降序,如,
?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$icount($array);$i++){
echo
$array[$i]." ";
}
echo
"br";
$array1=rsort($array);
for($i=0;$icount($array);$i++){
echo
$array[$i]." nbsp";
}
?
運(yùn)行結(jié)果:
5
9
18
26
37
42
66
88
88
66
42
37
26
18
9
5
2使用ksort()和asort()對(duì)關(guān)聯(lián)數(shù)組排序
如果使用了相關(guān)數(shù)組,在排序后還要保持關(guān)鍵字和值的排序一致,這是就需要使用ksort()和asort()函
數(shù),如,
?php
$array=array('php'=1,'jsp'=2,'asp'=3);
ksort($array);
print_r($array);
echo
"br";
asort($array);
print_r($array);
?
運(yùn)行結(jié)果:
Array
(
[asp]
=
3
[jsp]
=
2
[php]
=
1
)
Array
(
[php]
=
1
[jsp]
=
2
[asp]
=
3
)
php 二維數(shù)組求和
你這個(gè)二位數(shù)組里面不是有這個(gè)[xiaoji]
那么就foreach一下
$sum = 0;
foreach ($array as $key = $value ){
$sum += $array[$key]['xiaoji'];
}
echo $sum;
這里$array是你的數(shù)組的名字,$sum是全部[xiaoji]的和。
如果沒有這個(gè)你可以
$sum = 0;
foreach ($array as $key = $value ){
$sum += $array[$key]['consume'] * $array[$key]['settlement'];
}
echo $sum;
同樣 這里$array是你的數(shù)組的名字,$sum是全部['consume'] * ['settlement']的和。
如果是直接讀數(shù)據(jù)庫
SELECT SUM( `consume` * `settlement`) as sum FROM your_table
your_table是你的數(shù)據(jù)表的名字 直接查詢出來的就是全部['consume'] * ['settlement']的總和。
不知道你問的是不是這個(gè)意思?
當(dāng)前標(biāo)題:php二維數(shù)據(jù)求和 php對(duì)二維數(shù)組進(jìn)行排序
標(biāo)題路徑:http://fisionsoft.com.cn/article/doghcge.html