Функция sscanf
La función sscanf analiza una cadena utilizando el formato especificado,
y devuelve valores. El primer parámetro de la función acepta la cadena para analizar,
el segundo - la cadena de formato, y los parámetros siguientes (opcionales) - variables,
en las que se escribirán los resultados del análisis.
En la cadena de formato se utilizan caracteres especiales (especificadores de formato), que comienzan con el signo % y controlan el formato de salida.
Sintaxis
sscanf(string $str, string $format [, mixed &$... ]): mixed
Especificadores de formato
| Especificador | Descripción |
|---|---|
%s |
Cadena |
%d |
Número entero con signo (decimal) |
%u |
Número entero sin signo (decimal) |
%f |
Número de punto flotante (dependiente de la configuración regional) |
%F |
Número de punto flotante (no dependiente de la configuración regional) |
%c |
Carácter por código ASCII |
%x |
Número entero en sistema hexadecimal (minúsculas) |
%X |
Número entero en sistema hexadecimal (mayúsculas) |
%o |
Número entero en sistema octal |
%b |
Número entero en sistema binario |
%e |
Notación científica (minúsculas) |
%E |
Notación científica (mayúsculas) |
%g |
Formato corto %e o %f |
%G |
Formato corto %E o %F |
%% |
Signo de porcentaje |
Ejemplo
Analicemos una cadena, extrayendo un número y texto:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Resultado de ejecutar el código:
[42, 'the']
Ejemplo
Analicemos una fecha en sus componentes:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Resultado de ejecutar el código:
'Year: 2023, Month: 12, Day: 31'