$array[0] = 100;
$array[1] = 10;
$array[2] = 15;
如何通過key = (0,1)
這樣的鍵來獲得數組的總和sum = 110
?如何通過定義的鍵來對數組值進行求和?
$array[0] = 100;
$array[1] = 10;
$array[2] = 15;
如何通過key = (0,1)
這樣的鍵來獲得數組的總和sum = 110
?如何通過定義的鍵來對數組值進行求和?
$count = 0;
for($i=0;$i<count($array);$i++){
$count = $count + $array[$i];
}
echo $count;
嘗試用:
$array = array(
0 => 100,
1 => 10,
2 => 15
);
$keys = array(0, 1);
$sum = 0;
foreach ($keys as $key) {
$sum += $array[$key];
}
:
array_sum(array_slice($array,0,2)); // will return 110
參考文獻:
最好的和簡單的方法是
$result = array_sum($your_array);
$sum = array_sum(
array_intersect_key($array, array_flip([0,1])
);
沒有測試,但應該工作:)
$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);
只是好奇:爲什麼你在這裏使用匿名函數?就我所見,你完全可以忽略它,重命名一些變量名('$ container'(不管怎樣);})=>'$ array'來遍歷並且必須設置'$ key')並且在結尾只需'echo $ s'。 – KingCrunch
受javascript影響,感謝您指點 –
試試這個
$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;
這裏是我的解決方案通過自定義鍵,總結陣列:
$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)
參考文獻:
@DainisAbols至於我可以看到它應該工作如預期。你有什麼擔憂? – KingCrunch
nvm,誤讀了代碼 – Peon