36dc0d7d0ac25ce60898c36ca135fbbd [[12051,840,501,33],{"23602":22}] 4c38528ffe96a15c90e8cfcaaad048e3 [[13308,124,-1,62],{"8002":12}] 5557a6bed3793133754d288e2b58763a [[2197,840,751,6],{"16501":1}] 5a9c1f69434c1a8b1d7880ef03ae4264 [[7525,616,-1,14347],{"24902":37}] 87f63173118df680a4c1d63b7953faf3 [[2765,458,-1,11937],{"3102":15}] 901d1a5dbd4ed87fd68db2513fb29762 [[1828,124,-1,63],{"8002":379}] c23a2b2c10af8af96b1b24ddd4cc53d4 [[62,840,820,38],{"16801":303}] d7af9cd8573ecbec6d42e453439e3e0f [[4680,124,-1,63],{"1012":1896}] d93adab6b345608d38ea84811012dce8 [[114,840,819,48],{"22502":322,"8002":3}] ffd50dd8b4986f40634d6b5925dc04c6 [[6089,840,803,5],{"1252":1}] #### #!/usr/bin/php $data = array(); while (($line = fgets(STDIN)) !== false) { list($key,$value) = explode("\t",trim($line)); $value =& json_decode($value); $value[1] = get_object_vars($value[1]); if( isset($data[$key]) ) { foreach( $value[1] as $k=>$v ) { $data[$key][1][$k] += $v; } } else { $data[$key] = $value; } } foreach( $data as $key => $value ) { echo $key ."\t". json_encode( array($key=>$value) ) ."\n"; } #### $value =& json_decode($value); $value[1] = get_object_vars($value[1]); #### Input line: 36dc0d7d0ac25ce60898c36ca135fbbd {"36dc0d7d0ac25ce60898c36ca135fbbd":[[12051,840,501,33],{"23602":22}]} #### $value before the json_decode call : [[12051,840,501,33],{"23602":22}] $value after json_decode call (output via print_r): Array ( [0] => Array ( [0] => 12051 [1] => 840 [2] => 501 [3] => 33 ) [1] => Array ( [23602] => 22 ) ) $value[1] output via print_r: Array ( [23602] => 22 )