Forum und email

sscanf

(PHP 4 >= 4.0.1, PHP 5)

sscanf — Interpreta a entrada de uma string de acordo com um formato

Descrição

mixed sscanf ( string $str , string $formato [, mixed $... ] )

A função sscanf() é análoga a printf(). sscanf() lê da string str e interpreta ela de acordo com o formato especificado. Como é descrito na documentação para sprintf(). Se apenas dois parâmetros forem passados para esta função, os valores interpretados serão retornados como array. Caso contrário, se parâmetros opcionais são passados, a função retornará o número de valores atribuídos. Os parâmetros opcionais precisam ser passados por referência.

Qualquer espaço em branco na string de formato será comparada com qualquer espaço em branco na string de entrada. Isto significa que até mesmo um tab \t na string de formato pode ser comparada com um caractere de espaço simples na string de entrada.

Example#1 Exemplo da sscanf()

<?php
// Pegando o número serial
list($serial) = sscanf("SN/2350001","SN/%d");
// e a data de criação
$mandate "January 01 2000";
list(
$month$day$year) = sscanf($mandate,"%s %d %d");
echo 
"O Item $serial foi criado em: $year-".substr($month,0,3)."-$day\n";
?>
Se parâetros opcionais são passados, a função retornará o número de valores assumidos.

Example#2 sscanf() - usando parâmetros opcionais

<?php
// pega informação do autor e gera uma entrada de DocBook
$auth "24\tLewis Carroll";
$n sscanf($auth,"%d\t%s %s"$id$first$last);
echo 
"<author xml:id='$id'>
    <firstname>$first</firstname>
    <surname>$last</surname>
</author>\n"
;
?>

Veja também fscanf(), printf(), e sprintf().