Soma de um intervalo específico em um array PHP

Olá, estou com uma situação. Estou a estudar arrays e não consigo ir adiante nesse caso. Eu devo somar todos os valores de cada chave, entre um intervalo específico.

Exemplo 1: entre ‘valor1’ e ‘valor3’. O resultado esperado é: 39.5
Exemplo 2: entre ‘valor4’ e ‘valor6’. O resultado esperado é: 66.2

O código que define o valor que vai nas chaves e o array montado é esse:

$valor1 = 10;
$valor2 = 12;
$valor3 = 9.5;
$valor4 = 18;
$valor5 = 36.2;
$valor6 = 12;
$valores = array('valor1' => $valor1, 'valor2' => $valor2, 'valor3' => $valor3, 'valor4' => $valor2, 'valor5' => $valor5, 'valor6' => $valor6); 

Eu já consegui definir através do código abaixo, qual será o intervalo que deverá ser feito a soma.

$valorinicial = 'valor2';
$valorfinal = 'valor4';
$posicaoinicial = array_flip(array_keys($valores))($valorinicial);
$posicaofinal = array_flip(array_keys($valores))($valorfinal);

Fiz algumas tentativas, a última foi essa (sem sucesso):

$soma = 0;
foreach ($valores as $chave => $valor) {
   if ($chave >= $posicaoinicial && $chave <= $posicaofinal) {
      $soma += $valor;
   }
}
echo $soma;