Função sscanf
A função sscanf analisa uma string usando o formato especificado,
e retorna os valores. O primeiro parâmetro da função é a string a ser analisada,
o segundo é a string de formato, e os parâmetros subsequentes (opcionais) são variáveis,
nas quais os resultados da análise serão gravados.
A string de formato usa caracteres especiais (especificadores de formato), que começam com o sinal % e controlam a formatação da saída.
Sintaxe
sscanf(string $str, string $format [, mixed &$... ]): mixed
Especificadores de formato
| Especificador | Descrição |
|---|---|
%s |
String |
%d |
Número inteiro com sinal (decimal) |
%u |
Número inteiro sem sinal (decimal) |
%f |
Número de ponto flutuante (dependente da localidade) |
%F |
Número de ponto flutuante (não dependente da localidade) |
%c |
Caractere por código ASCII |
%x |
Número inteiro no sistema hexadecimal (minúsculas) |
%X |
Número inteiro no sistema hexadecimal (maiúsculas) |
%o |
Número inteiro no sistema octal |
%b |
Número inteiro no sistema binário |
%e |
Notação científica (minúsculas) |
%E |
Notação científica (maiúsculas) |
%g |
Formato curto de %e ou %f |
%G |
Formato curto de %E ou %F |
%% |
Sinal de percentagem |
Exemplo
Vamos analisar uma string, extraindo um número e um texto:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Resultado da execução do código:
[42, 'the']
Exemplo
Vamos analisar uma data em seus componentes:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Resultado da execução do código:
'Year: 2023, Month: 12, Day: 31'