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); ?>
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:
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:
Valores de formatação adicionais. É necessário colocá-los entre % e a letra (por exemplo, %.2f):
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); ?>