2013-06-10 3 views
-1

다음 데이터가 in에 저장된 배열 집합이 있습니다.PHP로 배열 값 합계

이 루프는 데이터를 저장합니다. GDX 3 개의 경우가 될 아이디 배열 예 있도록

while($stmntResult = mysql_fetch_assoc($stmnt)) 

    {   
     $userResult[] = $stmntResult["user"]; 
     $nameResult[] = $stmntResult["full_name"]; 
     $salescountResult[] = $stmntResult["sumcountSamnt"]; 
     $upResult[] = $stmntResult["sumcountupAmnt"]; 
     $countverifiedccResult[] = $stmntResult["sumccverifiedcountAmnt"]; 
     $amountverifiedccResult[] = $stmntResult["sumccverifiedAmnt"]; 
     $countverifiedbankResult[] = $stmntResult["sumbankverifiedcountAmnt"]; 
     $amountverifiedbankResult[] = $stmntResult["sumbankverifiedAmnt"]; 
     $damounttotalResult[] = $stmntResult["sumDamnt"]; 
     $upamounttotalResult[] = $stmntResult["sumUpamnt"]; 
     $mdamounttotalResult[] = $stmntResult["sumMdamnt"]; 
     $samounttotalResult[] = $stmntResult["sumSamnt"]; 
     $tmpUser[] = $stmntResult["user"]; 
     //echo $testResult[$z]. "-" . $nameResult[$z]."<br>"; 


    } 
    $userid Array ([0] => gdx [1] => hjx [2] => rnx [3] => tbr [4] => tdr [5] => tdy [6] => ter [7] => teu [8] => thr [9] => tht [10] => tje [11] => tjt [12] => toy [13] => tst [14] => ttu [15] => tvy [16] => twu [17] => twy [18] => txy [19] => tyu [20] => tze [21] => tzw [22] => gdx [23] => hjx [24] => rnx [25] => tbr [26] => tcx [27] => tdr [28] => tdy [29] => ter [30] => teu [31] => thr [32] => tht [33] => tje [34] => tjt [35] => toy [36] => tst [37] => ttu [38] => tvy [39] => twu [40] => twy [41] => txy [42] => tyu [43] => tze [44] => tzw [45] => gdx [46] => rnx [47] => tbr [48] => tdr [49] => tdy [50] => teu [51] => thr [52] => tje [53] => tjt [54] => toy [55] => tst [56] => ttu [57] => tvy [58] => twy [59] => tyu [60] => tze [61] => tzw) 

$sales Array ([0] => 4 [1] => 6 [2] => 6 [3] => 4 [4] => 5 [5] => 1 [6] => 7 [7] => 2 [8] => 1 [9] => 4 [10] => 5 [11] => 9 [12] => 4 [13] => 2 [14] => 3 [15] => 2 [16] => 7 [17] => 2 [18] => 2 [19] => 6 [20] => 3 [21] => 6 [22] => 7 [23] => 5 [24] => 3 [25] => 1 [26] => 0 [27] => 6 [28] => 5 [29] => 4 [30] => 5 [31] => 3 [32] => 6 [33] => 7 [34] => 7 [35] => 5 [36] => 5 [37] => 7 [38] => 6 [39] => 3 [40] => 5 [41] => 3 [42] => 3 [43] => 5 [44] => 3 [45] => 6 [46] => 0 [47] => 5 [48] => 11 [49] => 0 [50] => 6 [51] => 0 [52] => 0 [53] => 8 [54] => 0 [55] => 7 [56] => 3 [57] => 0 [58] => 1 [59] => 2 [60] => 0 [61] => 7) 

각 어레이 내가 유저마다 합계를 표시하려면, 많은 경우에 3 회를 여러 번 반복된다. 현재 나는 각 루프는

Name | Sales 
    gdx | 9 
    hjx | 6 

내가 저장하기 위해 PHP 측에서 수학을하고자했다 아래의 출력을 얻기 위해 다시 쿼리에 표현하는 임시 데이터베이스 다음

for($i = 0; $i < count($nameResult); ++$i) 
    { 

$testinsert = "insert into stats2 (userid, 
       fullname, 
       salescountTotal, 
       upamountcount, 
       countvrfycc, 
       amountvrfycc, 
       countvrfybank, 
       amountvrfybank, 
       donationTotal, 
       upsaleTotal, 
       monthlysaleTotal, 
       salesTotal, 
       callCount, 
       lastupdate) 
      VALUES 
       ('$userResult[$i]','$nameResult[$i]', 
       '$salescountResult[$i]', 
       '$upResult[$i]', 
       '$countverifiedccResult[$i]', 
       '$amountverifiedccResult[$i]', 
       '$countverifiedbankResult[$i]', 
       '$amountverifiedbankResult[$i]', 
       '$damounttotalResult[$i]', 
       '$upamounttotalResult[$i]', 
       '$mdamounttotalResult[$i]', 
       '$samounttotalResult[$i]', 
       '$callCount[$i]', 


       '$update') 
      "; 
    mysql_query($testinsert); 

에 삽입 한 서버의 CPU 시간, 도와 주셔서 감사합니다.

각 줄은 array_sum을 사용하여 각 사용자 데이터의 총계를 출력해야합니다. 모든 사용자의 합계를 얻을 수 있지만 먼저 임시 데이터베이스에 삽입하지 않고 각 사용자 합계를 가져 오려고합니다.

+6

PHP 역시 서버 측에서 실행됩니다. – Beat

+0

[array_sum'] (http://php.net/manual/en/function.array-sum.php)을 찾고 있다고 생각합니다. –

+0

데이터가 자바 스크립트 인 경우 http://stackoverflow.com/a/3762623/2344142 –

답변

1

가장 간단한 방법은 하나의 배열을 반복하여 키를 기반으로 다른 배열의 값을 얻는 것입니다. 이것은 내가 생각해 낸 것입니다 :

<?php 
$userid = array('gdx','hjx','gdx','hjx'); 
$sales = array(4,6,5,2); 

$output = array(); 
foreach($userid as $k=>$v){ 
    if(!isset($output[$v])){ 
     $output[$v] = $sales[$k]; 
    }else{ 
     $output[$v] += $sales[$k]; 
    } 
} 

echo 'Name | Sales<br>'; 
foreach($output as $name=>$sales){ 
    echo $name.' | '.$sales.'<br>'; 
} 
+0

사무엘 그게 다야, 고마워. – Iz3k34l