<?php
$data = Array ( 
'history' => Array ( 
    'id' => 23452435 ,
    'legend' => Array ( 
        '0' => Array ( 
            'player' => 'me',
            'turn' => 1 ,
            'card' => Array ( 
                'name' => 'foo' 
            ) 
        ), 

        '1' => Array ( 
            'player' => 'me',
            'turn' => 1 ,
            'card' => Array ( 
                'name' => 'bar'
            ) 
        ) ,

        '2' => Array ( 
            'player' => 'opponent',
            'turn' => 1,
            'card' => Array (
                'name' => 'derp' 
            ) 
        ) ,

        '3' => Array ( 
            'player' => 'opponent',
            'turn' => 2 ,
            'card' => Array ( 
                'name' => 'hoo'
            ) 
        ) ,
    ) 
));

$result = [];

foreach ($data['history']['legend'] as $list) {
		$result[$list['turn']-1][$list['player']][] = $list['card']['name'];
}

print_r($result);