Analizar una cadena:
<?php$str = "edad:30 peso:60kg";sscanf($str,"edad:%d peso:%dkg",$edad,$peso);// mostrar tipos y valoresvar_dump($edad,$peso );?>La función sscanf() analiza la entrada de una cadena según un formato específico. La función sscanf() analiza una cadena en una variable basada en una cadena de formato.
Si pasa solo dos argumentos a la función, los datos se devolverán como una matriz. De lo contrario, si se pasan parámetros adicionales, los datos analizados se almacenarán en estos parámetros. Si el número de separadores es mayor que el número de variables que los contienen, se produce un error. Sin embargo, si el número de separadores es menor que el número de variables que los contienen, las variables adicionales contienen NULL.
Funciones relacionadas:
printf() - genera una cadena formateada
sprintf() - escribe una cadena formateada en una variable
sscanf( cadena,formato,arg1,arg2,arg++ )
parámetro | describir |
---|---|
cadena | Requerido. Especifica la cadena que se va a leer. |
formato | Requerido. Especifica el formato que se utilizará. Posibles valores de formato: %% - devuelve un signo de porcentaje % %c - el carácter correspondiente al valor ASCII %d - Número decimal con signo (negativo, 0, positivo) %e: utilice notación científica en minúsculas (por ejemplo, 1,2e+2) %u - Número decimal sin signo (mayor o igual a 0) %f - número de punto 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. Debe colocarse entre % y una letra (p. ej. %.2f): + (Agregue + o - delante de un número para definir el signo del número. De forma predeterminada, solo se marcan los números negativos y los números positivos no) ' (Especifica qué usar como relleno, el valor predeterminado son espacios. Debe usarse con un especificador de ancho. Por ejemplo: %'x20s (use "x" como relleno)) - (valor variable de ajuste izquierdo) [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) Nota: Si se utilizan varios valores de formato anteriores, deben usarse en el orden anterior y no se pueden alterar. |
arg1 | Opcional. La primera variable para almacenar datos. |
arg2 | Opcional. Una segunda variable para almacenar los datos. |
arg++ | Opcional. La tercera y cuarta variables que almacenan datos. Etcétera. |
Valor de retorno: | Si pasa solo dos argumentos a la función, los datos se devolverán como una matriz. De lo contrario, si se pasan parámetros adicionales, los datos analizados se almacenarán en estos parámetros. Si el número de separadores es mayor que el número de variables que los contienen, se produce un error. Sin embargo, si el número de separadores es menor que el número de variables que los contienen, las variables adicionales contienen NULL. |
---|---|
Versión PHP: | 4.0.1+ |
Utilice valores de formato %s, %d y %c:
<?php$str = "Si divides 4 entre 2 obtendrás 2";$format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r($formato);?>