Před kódováním jako objekt json musíte vytvořit nové pole s touto strukturou. To by udělalo svou práci (vaše nové naformátované pole je v $new_array, takže to můžete pouze zakódovat json):
$new_array = array();
foreach($pdo_response as $bf) {
if(empty($new_array[$bf['volume_name']])) {
$new_array[$bf['volume_name']] = array("key" => $bf['volume_name'], "values" => array());
}
$new_array[$bf['volume_name']]['values'][] = array("x" => $bf['recoreded'], "y" => $bf['volume_files_used']);
}
Pokud chcete pro první dimenzi číselné klíče (0 - ....), použijte array_values().