2013-01-07 58 views

回答

-2
$count = 0; 
for($i=0;$i<count($array);$i++){ 
$count = $count + $array[$i]; 
} 

echo $count; 
3

嘗試用:

$array = array(
    0 => 100, 
    1 => 10, 
    2 => 15 
); 
$keys = array(0, 1); 
$sum = 0; 

foreach ($keys as $key) { 
    $sum += $array[$key]; 
} 
+0

@DainisAbols至於我可以看到它應該工作如預期。你有什麼擔憂? – KingCrunch

+0

nvm,誤讀了代碼 – Peon

-1
如果要總結INTIAL兩個鍵然後在下面的代碼中使用

array_sum(array_slice($array,0,2)); // will return 110 

參考文獻:

array_sum

array_slice

3

最好的和簡單的方法是

$result = array_sum($your_array); 
3
$sum = array_sum(
    array_intersect_key($array, array_flip([0,1]) 
); 

沒有測試,但應該工作:)

0
$array[0] = 100; 
$array[1] = 10; 


$array[2] = 15; 

$sum = function($keys = array(),$arrayList= array()) { 
     $s = 0; 
     foreach ($arrayList as $key => $value) { 
      if(in_array($key, $keys)) { 
       $s+= $value; 
      } 
     } 
     echo $s; 
}; 
$sum(array(0,1),$array); 
+0

只是好奇:爲什麼你在這裏使用匿名函數?就我所見,你完全可以忽略它,重命名一些變量名('$ container'(不管怎樣);})=>'$ array'來遍歷並且必須設置'$ key')並且在結尾只需'echo $ s'。 – KingCrunch

+0

受javascript影響,感謝您指點 –

0

試試這個

$array[0] = 100; 
$array[1] = 10; 
$array[2] = 15; 

echo array_sum($array); 

或嘗試這

$array[0] = 100; 
$array[1] = 10; 
$array[2] = 15; 
$sum=0; 
foreach (range(0,1) as $key) 
{ 
    $sum = $sum+$array[$key]; 
} 
echo $sum; 
0

這裏是我的解決方案通過自定義鍵,總結陣列:

$myArray=Array("Array Title","1000",2000,3000}; // array example with stings and integers 

var_dump(array_intersect_key($myArray, array_flip(Array(1,2)))); // int(3000) 
var_dump($myArray); // int(6000) 

參考文獻:

array_intersect_key

array_flip

相關問題