$ret = array(); foreach($users as $user) { $row = array('Name' => $user['display_name'], 'Total' => $user['staking_balance'], 'Bankroll' => $user['bankroll']); foreach($user['Players'] as $p) { $row[$p['Site']['name']] = $p['staking_balance']; } //set defaults for no links foreach( array('PokerStars', 'Full Tilt', 'Ultimate Bet') as $siteKey) { if ( ! array_key_exists($siteKey, $row)) $row[$siteKey] = 0; } $ret[] = $row; } return $ret;