Função sscanf() do PHP

Exemplo

Análise de string:

<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// Mostrar tipo e valor
var_dump($age,$weight);
?>

Executar Exemplo

Definição e uso

A função sscanf() interpreta a entrada de uma string com base no formato especificado. A função sscanf() interpreta a string com base na string de formato.

Se apenas dois parâmetros forem passados para essa função, os dados retornados serão em forma de array. Caso contrário, se parâmetros adicionais forem passados, os dados interpretados serão armazenados nesses parâmetros. Se o número de delimitadores for maior do que o número de variáveis que os contêm, ocorrerá um erro. No entanto, se o número de delimitadores for menor do que o número de variáveis que os contêm, as variáveis adicionais conterão NULL.

Funções relacionadas:

  • printf() - Escrever uma string formatada
  • sprintf() - Escrever uma string formatada em uma variável

Sintaxe

sscanf(string,format,arg1,arg2,arg++)
Parâmetro Descrição
string Obrigatório. Especifica a string a ser lida.
format

Obrigatório. Especifica o formato a ser usado.

Valores de formatação possíveis:

  • %% - Retornar um símbolo de porcentagem %
  • %c - Caractere correspondente ao valor ASCII
  • %d - Número decimal com sinal (número negativo, 0, número positivo)
  • %e - Notação científica em minúsculas (por exemplo, 1.2e+2)
  • 蒧úmero decimal sem sinal (igual ou maior que 0)
  • %f - Número flutuante
  • %o - Número octal
  • %s - String
  • %x - Número hexadecimal (letras minúsculas)
  • %X - Número hexadecimal (letras maiúsculas)

Valores de formatação adicionais. É necessário colocá-los entre % e a letra (por exemplo, %.2f):

  • + (adiciona + ou - antes do número para definir a sinalidade do número. Padrão: apenas números negativos são marcados, números positivos não são.)
  • ' (especifica o que usar como preenchimento, o padrão é espaço. Deve ser usado junto com o especificador de largura.)
  • - (alinhamento à esquerda do valor da variável)
  • .[0-9] (especifica a largura mínima do valor da variável)
  • .[0-9] (especifica o número de casas decimais ou o comprimento máximo da string)

Comentário:Se forem usados múltiplos valores de formatação acima, eles devem ser usados na ordem acima.

arg1 Opcional. A variável para armazenar os dados primeira.
arg2 Opcional. A variável para armazenar os dados segunda.
arg++ Opcional. As variáveis terceira e quarta para armazenar dados, etc.

Detalhes Técnicos

Retorno: Se apenas dois parâmetros forem passados para essa função, os dados serão retornados na forma de array. Caso contrário, se parâmetros adicionais forem passados, os dados解析ados serão armazenados nesses parâmetros. Se o número de delimitadores for maior que o número de variáveis que os contêm, ocorrerá um erro. No entanto, se o número de delimitadores for menor que o número de variáveis que os contêm, as variáveis adicionais conterão NULL.
Versão PHP: 4.0.1+

Mais Exemplos

Exemplo 1

Use os valores de formatação %s, %d e %c:

<?php
$str = "Se você dividir 4 por 2 você obterá 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>

Executar Exemplo