# sscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

sscanf — Interpreta un string de entrada de acuerdo con un formato

### Descripción

sscanf(string `$str`, string `$format`, mixed `&$...` = ?): mixed

La función sscanf() es la entrada análoga de printf(). sscanf() lee del string `str` y lo interpreta de acuerdo con el `format` especificado, el cual está descrito en la documentación para sprintf().

Cualquier espacio en blanco en el string de formato coincide con cualquier espacio en blanco en string de entrada. Esto significa que incluso un tabulador \t en el string de formato puede coincidir con un caracter simple de espacio en el string de entrada.

### Parámetros

`str`

  El string de entrada para ser interpretado.

`format`

  El formato interpretado `str`, el cual está descrito en la documentación para sprintf() con las siguientes diferencia:

  - La función no es consciente de la configuración regional.
  - `F`, `g`, `G` y `b` no están soportados.
  - `D` representa número decimal.
  - `i` representa integer con detección de base.
  - `n` representa el número de caracteres procesados hasta el momento.
`...`

  Opcionalmente variables pasadas por referencia que contendrán los valores interpretados.

### Valores devueltos

Si sólo se pasan dos parámetros a esta función, los valores interpretados se devolverán como una matriz. De lo contrario, si se pasan parámetros opcionales, la función devolverá el número de valores asignados. Los parámetros opcionales se deben pasar por referencia.

Si hay más substrings esperados en el `format` que los que hay disponibles en `str`, será devuelto `-1`.

### Ejemplos

Ejemplo #1 Ejemplo de sscanf()

`<?php
// obtener el número serial
list($serial) = sscanf("SN/2350001", "SN/%d");
// y la fecha de manufactura
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "Item $serial was manufactured on: $year-" . substr($month, 0, 3) . "-$day\n";
?>`

Si se pasan parámetros opcionales, la función devolverá el número de valores asignados.

Ejemplo #2 sscanf() - using optional parameters

`<?php
// obtener la información del autor y generar entrada DocBook
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo "<author id='$id'>
<firstname>$first</firstname>
<surname>$last</surname>
</author>\n";
?>`

### Ver también

- fscanf() - Analiza la entrada desde un archivo de acuerdo a un formato
- printf() - Imprimir una cadena con formato
- sprintf() - Devuelve un string formateado