Función sscanf() de PHP

Ejemplo

Análisis de cadena:

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

Ejemplo de ejecución

Definición y uso

La función sscanf()解析 la entrada desde la cadena especificada. La función sscanf() parsea la cadena basándose en la cadena de formato.

Si se pasan dos parámetros a esta función, los datos se devuelven en forma de array. De lo contrario, si se pasan parámetros adicionales, los datos解析存储在这些参数. Si el número de delimitadores es mayor que el número de variables que los contienen, se producirá un error. Sin embargo, si el número de delimitadores es menor que el número de variables que los contienen, las variables adicionales contienen NULL.

Funciones relacionadas:

  • printf() - Escribe una cadena formateada en la salida.
  • sprintf() - Escribe una cadena formateada en una variable.

Sintaxis

sscanf(cadena,formato,arg1,arg2,arg++)
Parámetro Descripción
cadena Obligatorio. Define la cadena a leer.
formato

Obligatorio. Define el formato a usar.

Valores de formato posibles:

  • %% - Devuelve un porcentaje %
  • %c - Carácter correspondiente al valor ASCII
  • %d - Número decimal con signo (número negativo, 0, número positivo)
  • %e - Notación científica en minúsculas (por ejemplo, 1.2e+2)
  • 蒧úmero decimal sin signo (igual o mayor que 0)
  • %f - Número de coma flotante
  • %o - Número octal
  • %s - Cadena
  • %x - Número hexadecimal (letras minúsculas)
  • %X - Número hexadecimal (letras mayúsculas)

Valores de formato adicionales. Es necesario colocarlos entre % y la letra (por ejemplo, %.2f):

  • + (agrega + o - delante del número para definir la signo del número. Por defecto, solo se marca el número negativo, no el positivo)
  • ' (especifica qué usar como relleno, por defecto es el espacio. Debe usarse junto con el especificador de ancho.)
  • - (ajuste a la izquierda del valor de la variable)
  • .[0-9] (especifica el ancho mínimo del valor de la variable)
  • .[0-9] (especifica el número de decimales o la longitud máxima de la cadena)

Comentarios:Si se utilizan varios valores de formato como se mencionó anteriormente, deben utilizarse en el orden mencionado anteriormente.

arg1 Opcional. La primera variable para almacenar los datos.
arg2 Opcional. La segunda variable para almacenar los datos.
arg++ Opcional. Las variables tercera y cuarta para almacenar los datos, etc.

Detalles técnicos

Valor de retorno: Si se pasan solo dos parámetros a esta función, los datos se devolverán en forma de array. De lo contrario, si se pasan parámetros adicionales, los datos解析存储在这些参数. Si el número de delimitadores es mayor que el número de variables que los contienen, se producirá un error. Sin embargo, si el número de delimitadores es menor que el número de variables que los contienen, las variables adicionales contienen NULL.
Versión de PHP: 4.0.1+

Más ejemplos

Ejemplo 1

Usar valores de formato %s, %d y %c:

<?php
$str = "If you divide 4 by 2 you'll get 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>

Ejemplo de ejecución