2017-10-25 7 views
-3

これは私が持っているランダムな配列である、それは常に2012で開始し、2017年PHP配列インクリメンタル

Array 
(
    [2012] => 1 
    [2014] => 1 
    [2015] => 1 
    [2016] => 4 
    [2017] => 1 
) 

で終わりではない私は、このような配列を持っている、と私はそれがこの

のようになりたいです
Array 
(
    [2012] => 1 //The start, not add 
    [2014] => 2 //2012 + 2014 = 1 + 1 = 2 
    [2015] => 3 //2012 + 2014 + 2015 = 1 + 1 + 1 = 3 
    [2016] => 7 //2012 + 2014 + 2015 + 2016 = 1 + 1 + 1 + 4 = 7 
    [2017] => 8 //2012 + 2014 + 2015 + 2016 + 2017 = 1 + 1 + 1 + 4 + 1 = 8 
) 
+0

あなたはすでにこれをやってみましたか? [どのくらいの研究努力が必要ですか](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-is-expected-of-stack-overflow-users)を確認してください。スタックオーバーフローはコーディングサービスではありません。あなたはあなたの問題を研究し、投稿する前に自分でコードを書いてみることを期待しています。具体的なことに固執している場合は、[最小、完全、および検証可能な例](https://stackoverflow.com/help/mcve)と試した内容の要約を含めてお手伝いください。 – cramopy

+0

これはループで実行できます。あなたはすでにこれをやろうとしましたが、あなたが遭遇した問題は何でしたか? – FluffyKitten

+0

できます。それはとても簡単です。続ける。 – rahulsm

答えて

1
$arr = array(
    2012 => 1, // 1 
    2014 => 1, // 2 
    2015 => 1, // 3 
    2016 => 4, // 7 
    2017 => 1 // 8 
); 

// Getting the all keys of array 
$keys = array_keys($arr); 

// Make a new array to set the executed values 
$arr1 = array(); 

// loop the array 
for ($i = 0; $i < count($arr); $i++) { 
    $sum = 0; 
    for ($j = 0; $j <= $i; $j++) { 
     $sum += $arr[$keys[$j]]; 
    } 
    // set values to new array 
    $arr1[$keys[$i]] = $sum; 
} 

// print the new array 
print_r($arr1); 
+0

親切にあなたが何を説明します。コードを投稿するだけでは完全には役に立ちません。 –

+0

私の間違い申し訳ありません。私はそれを修正します。 –

+0

ありがとうございます! –