note 11314 deleted from function.sscanf by didou

From: Date: Wed, 21 May 2003 16:38:38 +0000
Subject: note 11314 deleted from function.sscanf by didou
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-48771@lists.php.net to get a copy of this message
Note Submitter: strasbg@ole.com ---- 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

« previous php.notes (#48771) next »