note 11314 added to sscanf

From: Date: Thu, 15 Feb 2001 16:44:01 +0000
Subject: note 11314 added to sscanf
Groups: php.notes 
Request: Send a blank email to php-notes+get-11105@lists.php.net to get a copy of this message
Hay un error en la funcion sscanf ya que no realiza la lectura de datos segun el formato especificado. Por ejemplo, consideremos el siguiente codigo: <?php // este script es una prueba del scanf $str="hola;esto;es;una;prueba"; $a=""; $b=""; $c=""; $d=""; $e=""; sscanf($str,"%s;%s;%s;%s;%s",&$a,&$b,&$c,&$d,&$e); echo $a.$b.$c.$d.$e; ?> La salida seria la siguiente: hola;esto;es;una;prueba Por el contrario si usamos el siguiente formato: <?php // este script es una prueba del scanf $str="hola ; esto ; es ; una ; prueba"; $a=""; $b=""; $c=""; $d=""; $e=""; sscanf($str,"%s ; %s ; %s ; %s ; %s",&$a,&$b,&$c,&$d,&$e); echo $a.$b.$c.$d.$e; ?> la salida es correcta: holaestoesunaprueba Se ve que la funcion sólo respeta el formato si las zonas donde se indica que comienza una variable (en el codigo %(tipo_de_variable)) esta aislada, es decir, separada con espacios del resto de los caracteres del formato. Saludos desde cordoba http://www.php.net/manual/en/function.sscanf.php

« previous php.notes (#11105) next »