2014-10-30 70 views
1

我有兩個數組,一個是「OperID」,另一個是「OperSums」。所述OperID數組包含ID號,並且OperSums數組包含的ID附加到總它看起來像這樣:從一個關聯數組中顯示值,其中的鍵存在另一個數組中的值

陣列1(OperID)

{[0] => oper1 [1] => oper2 [2] => 3 [3] => oper4 [4] => oper5 [5] => oper6 [6] => oper7 [7] => oper8 [8] => oper9} 

陣列2(OperSums)

{["oper3"]=> float(17498.5) ["oper1"]=> float(10383.5) ["oper2"]=> float(6277) ["oper4"]=> float(10224.67) ["oper6"]=> float(3955.65) ["oper5"]=> float(4997.78) ["oper8"]=> float(11382) ["oper9"]=> float(5072.1) ["oper7"]=> float(14759) ["oper-nb3n0hah-1tueubqo"]=> float(1033.45) ["oper-50f6e4ad-9effbec7"]=> float(3058) ["oper-4f05a90b-03b379f9"]=> float(12112.5) ["oper-4db82d0b-796a3081"]=> float(621) ["oper-qxr9ryex-bsmm0g6f"]=> string(4) "0.00" ["oper-qtgjvw8y-1uqtw058"]=> float(10023) ["oper-487b885e-dbbae536"]=> string(6) "340.00" ["oper-shcuaee2-yldfdxsd"]=> float(467) ["oper-416fd551-da6937eb"]=> float(6563) ["oper-50564d75-f1da98ec"]=> string(4) "0.00" ["oper-l65tf5ex-w5qfinca"]=> float(1746) ["oper-52657816-3d6516e2"]=> float(3495) ["oper-4a82c3be-bccc185d"]=> float(0) ["oper-1f2mnwry-nfywuasi"]=> string(6) "255.95"} 

我只想收集兩個數組中的運算符值,並顯示數組2中每個浮點數內的每個運算符的總數,並截斷所有額外的數據。對於關聯數組我真的不怎麼樣,所以任何指向正確方向的指針或提示都將不勝感激。順便說一下,這在PHP中。

這是我與迄今使用的代碼:OperSums(陣列2)

$operSums = array(); 

$operearnedArray[] = array(
     'amount' => $row['ChargeAmount'], 
     'id' => $row['OperatorID']); 


foreach ($operearnedArray as $value) { 
     if($value['id'] == '' || $value['id'] == null) { 
     continue; 
     } 
     if(array_key_exists($value['id'], $operSums)) { 
     $operSums[$value['id']] += $value['amount']; 
     } else { 
     $operSums[$value['id']] = $value['amount']; 
     } 
} 

回答

0

如果我理解正確的話,你只需要通過一步$如果鑰匙$存在顯示值OperID(數組1)?

foreach ($OperSums as $id => $value) { 
    if (in_array($id,$OperID)) { 
     echo $id.' => '.$value; 
    } 
} 

如果你確實需要「截斷所有額外的數據」,然後取消設置陣列,你去(或創建一個新的數組),雖然似乎有必要不一樣,如果你只是顯示結果?

+0

我需要截斷所有額外的數據,因爲我有一個顯示結果的圖形。我試圖看看我是否可以使用你的代碼來幫助,但它會拋出以下錯誤:注意:未定義的變量:OperSums &&警告:爲foreach提供的無效參數() – Juan 2014-10-30 22:47:53

+0

顯然需要更改變量名稱以匹配在你的代碼中使用的。您最初將陣列稱爲「OperID」和「OperSums」,但是,您的代碼示例似乎有所不同? – MrWhite 2014-10-30 23:00:31

+0

我想通了,謝謝你!我感謝您的幫助!!!感謝w3d! – Juan 2014-10-30 23:08:02

相關問題