<?php

$array =array
(
    'data(0)' => 'somevalue',
    'data(1)' => 'somevalue',
    'data(2)' => 'somevalue',
    'key.Subkey' => 'data'
);

$result = array();
foreach ($array as $key => $value) {
    list($text, $subkey) = preg_split('/[\W]/', $key, -1, PREG_SPLIT_NO_EMPTY);
    $result[$text][$subkey] = $value;
}

print_r($result);
?>
