Utilizando a função sscanf podemos ler dados formatados contidos em uma string.  
                Os identificadores de formatação foram vistos em 
                PHP Básico: Saída de Dados. 
            
            Sintaxe
            sscanf(string $string, string $format, mixed &...$vars): array|int|null
            Onde
            $string: string de entrada para leitura 
$format: string contendo identificadores de formatação:
D : número decimal
i : número inteiro(integer)
n: número de caracteres processados
s : interrompe a leitura em qualquer caracteres de espaço
c : caracter
* : omite atribuição de valor lido
            Retorno
            Vetor contendo valores lidos de $string respeitando o formato $format se $vars omitido.
            
                Se o número de identificadores for menor das variáveis informadas em $vars, elementos null serão retornados.
            
            Exemplo 3
            
//main.php
<?php
 $preco;
  $produto;
  //        %s  %*s  %*2c%f
  $str = "Tênis custa R$10.99";
  sscanf($str,"%s %*s %*2c%f",$produto,$preco); //%*2c descarta 2 caracteres
  
  echo $produto,":",$preco,"\n";
  
  $array = sscanf($str,"%s %*s %*2c%f");
  var_dump($array);
?>
            Saída
            
Tênis:10.99
array(2) {
  [0]=>
  string(6) "Tênis"
  [1]=>
  float(10.99)
}