Всем ку, нужна помощь
Есть массив вида
["2014-01-02" => "30",
"2014-01-02"=>"10",
"2014-01-03"=>"2"
]
Это заработок сайта в день, менять вид массива нельзя, таково API на сайте заказчика, я делаю что-то вроде статистики для админпанели.
Мне этот вид массива нужно привести в вид
[
"2014-01-02"=>"40","2014-01-03"=>"2"
]
Т.е. найти повторяющиеся ключи, сложить их значения в один ключ. Порядок не важен, это всего лишь данные, по которым строится график.
Прошу руки помощи))
1. XuPoH - 03 Января, 2015 - 08:13:28 - перейти к сообщению
2. Wooorker - 04 Января, 2015 - 18:33:56 - перейти к сообщению
XuPoH пишет:
Всем ку, нужна помощь
Есть массив вида
["2014-01-02" => "30",
"2014-01-02"=>"10",
"2014-01-03"=>"2"
]
Есть массив вида
["2014-01-02" => "30",
"2014-01-02"=>"10",
"2014-01-03"=>"2"
]
Сдаётся мне, что это не массив, т. к. не может быть в массиве 2 ключей с одним именем.
Если это таблица в mysql, то там просто сделать запрос с SUM(заработок) GROUP BY (дата).
Но, если всё же с массивами баловаться, то будет так:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- foreach($arr1 as $arr_key=>$arr_value){
- foreach($arr_value as $key1=>$value1) {
- $value = $value1;
- foreach($arr2 as $key2=>$value2){
- if ($key2==$key1) {
- $value = $value + $value2;
- }
- }
- $arr2[$key1]=$value;
- }
- }
- echo '<br>';
Результат
CODE (html):
скопировать код в буфер обмена
скопировать код в буфер обмена
- Array ( [0] => Array ( [2014-01-02] => 30 ) [1] => Array ( [2014-01-02] => 10 ) [2] => Array ( [2014-01-03] => 2 ) )
- Array ( [2014-01-02] => 40 [2014-01-03] => 2 )