我有一些值的數組,我需要轉換爲新數組並將每個值與所有以前的值相加。例如(數組長度,鍵和值總是不同),這是我有:總結每個最後的值與數組中的所有以前的值
Array
(
[0] => 1
[1] => 1
[2] => 5
[3] => 1
[4] => 1
[7] => 1
[8] => 3
[9] => 1
)
,這正是我需要的:
Array
(
[0] => 1
[1] => 2
[2] => 7
[3] => 8
[4] => 9
[7] => 10
[8] => 13
[9] => 14
)
我嘗試了許多不同的方法,但始終堅持的東西或者意識到我錯了某個地方。我有一種感覺,我試圖在這裏重新發明輪子,因爲我認爲必須有一些簡單的功能,但沒有找到解決方案的運氣。這是我試過的最後一種方式:
$array = array("0"=> 1, "1"=> 1, "2"=> 5, "3"=> 1, "4"=> 1, "7"=> 1, "8"=> 3, "9"=> 1);
$this = current($array);
$next = next($array);
$end = next(end($array));
$sum = 0;
$newArray = array();
foreach ($array as $val){
if($val != $end){
$sum = ($this += $next);
array_push($newArray, $sum);
}
}
print_r($newArray);
..很遺憾再次發生錯誤。我花了很多時間找到如何不到達我需要的地方,有人可以將我踢向正確的方向嗎?
你計算陣列和與切片一遍又一遍的價值觀,你知道媒體鏈接從一個先前計算的總和......沒必要切片和陣列總和......這會消耗內存和CPU無... – Nimrod007
謝謝!這正是我所需要的,我使用這些(非連續)索引將此輸出與另一個數組配對。 – b3da