Data type:
{"game_id": "111", "type": 2, "num": 504},{"game_id": "111", "type": 6, "num": 8154},{"game_id": "111", "type": $, "num" : 3426},{"game_id": "111", "type": $, "num": 45},{"game_id": "111", "type": $, "num": 1873}
Demand:
Add the num of type=41 42 42 to the sum of type 1 10
Results:
{"game_id": "111", "type": 2, "num": 504},{"game_id": "111", "type": 6, "num": 8154},{"game_id": "111", "type": $, "num" : 5344}
Code
$str = ' {"RetCode": "0", "retmsg": "Success", "Data": [{"game_id": "111", "type": 2, "num": 504},{"game_id": "111", "type": 6, "num ": 8154},{" game_id ":" 111 "," type ": $," num ": 3426},{" game_id ":" 111 "," type ":" num ": 45},{" game_id ":" 111 "," type ": 43 , "num": 1873},{"game_id": "119", "type": 1, "num": 38},{"game_id": "119", "type": 2, "num": 381},{"game_id": "119", "type" : 6, "num": 189},{"game_id": "119", "type": Ten, "num": 21},{"game_id": "+", "type": 2, "num": 31},{"game_id": "+", "type" : 6, "num": 291},{"game_id": "+", "type": $, "num": 90},{"game_id": "+", "type": $, "num": 49},{"game_id": "127", "type" ": 1," num ": 9},{" game_id ":" 127 "," type ": 2," num ": 111},{" game_id ":" 127 "," type ": 6," num ": 60},{" game_id ":" 129 "," type " : 1, "num": 11},{"game_id": "129", "type": 2, "num": 11},{"game_id": "129", "type": 6, "num": 48},{"game_id": "129", "type" : "num": 2},{"game_id": "$", "type": 6, "num": 1},{"game_id": "137", "type": 2, "num": 1},{"game_id": "139", "type": 2, " Num ": 1387},{" game_id ":" 139 "," type ": 6," num ": 3858},{" game_id ":" 139 "," type ": Ten," num ": 2358},{" game_id ":" 142 "," type " ": 2," num ": 32},{"game_id": "142", "type": 6, "num": 948},{"game_id": "142", "type":, "num": 330},{"game_id": "142", "type": "Num" : 3},{"game_id": "142", "type": $, "num": 47},{"game_id": "156", "type": 2, "num": 11436},{"game_id": "156", "type": 6, "num ": 38135},{" game_id ":" 156 "," type ": Ten," num ": 22170},{" game_id ":" 165 "," type ": 6," num ": 6},{" game_id ":" 165 "," type ": 41 , "num": 3},{"game_id": "165", "type": $, "num": 1},{"game_id": "" "," type ": 2," num ": 3},{" game_id ":" 8f093ab4ad19a509208a8104605c6e42 "," type ": 2," num ": 281},{" game_id ":" The "," type ": 1," num ": 26},{" game_id ":" The "" type " ": 2," num ": 186},{" game_id ":" "," "type": 6, "num": 153},{"game_id": "94", "Type": 1, "num": 538},{"game_id": "94", "type" : 2, "num": 3357},{"game_id": "94", "type": 6, "num": 2847},{"game_id": "94", "type": Ten, "num": 74}]} ';
$AAA = Json_decode ($str, true); $data = $aaa [' data ']; $new _array = Array (); $array 1 = array (41,42,43); $array 2 = Array (1,10); foreach ($data as $v) {if (In_array ($v [' type '], $array 2)) {if (Isset ($new _array[$v [' game_id ']][$array 2[0]][' num '])) {$ new_array[$v [' game_id ']][$array 2[0]][' num '] + = $v [' num '];} else {$new _array[$v [' game_id ']][$array 2[0]][' num '] = $v [' num '];}} ElseIf (In_array ($v [' type '], $array 1)) {if (Isset ($new _array[$v [' game_id ']][$array 1[0]][' num '])) {$new _array[$v [' game_id ']][$array 1[0]][' num '] + = $v [' num '];} else {$new _array[$v [' game_id ']][$array 1[0]][' num '] = $v [' num '];}} else{if (isset ($new _array[$v [' game_id ']][$v [' type ']][' num ']) {$new _array[$v [' game_id ']][$v [' type ']][' num '] + = $v [ ' Num '];} else {$new _array[$v [' game_id ']][$v [' type ']][' num '] = $v [' num '];}} foreach ($new _array as $k 1 = $v 1) {foreach ($v 1 as $k 2 + $v 2) {$new [$k 1][] = Array (' game_id ' = + $k 1, ' type ' = =) $k 2, ' num ' = $v 2[' num ');}}
The above describes the PHP based on an array key calculation and, including the aspects of the content, I hope that the PHP tutorial interested in a friend helpful.