Le sscanf() est une fonction prédéfinie en PHP qui renvoie la chaîne d'entrée analysée après l'avoir analysée selon le format requis. Il prend l'entrée de 2 paramètres et nous donne le tableau requis et dans les autres cas, lorsque d'autres paramètres sont transmis, tels que des paramètres facultatifs, les données analysées y seront stockées. Il génère une erreur lorsqu'il y a plus de spécificateurs que les variables pour les contenir et les variables supplémentaires obtiendront NULL s'il y a des spécificateurs inférieurs aux variables.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Vous trouverez ci-dessous la syntaxe de PHP sscanf() :
sscanf(input_string, format, arg1, arg2, arg3....)
Paramètres d'entrée :
1. input_string : Il s'agit de la chaîne d'entrée à lire.
2. format : Nous pouvons spécifier les formats selon la liste ci-dessous, selon les besoins :
Il existe également quelques valeurs de format supplémentaires qui sont placées entre le symbole % et la lettre que nous donnons. (Par exemple %0.3f)
Valeurs de retour : Ici il y a 2 cas qui peuvent arriver :
Vous trouverez ci-dessous les exemples mentionnés :
Code :
<?php $text = "Random sentence goes here with numbers 5 and 8"; $f = sscanf($text,"%s %s %s %s %s %s %d %s %d"); print_r($f); ?>
Sortie :
Dans cet exemple, nous spécifions un texte comme requis. Ensuite, utilisez la fonction sscanf et spécifiez les formats corrects qui représentent notre chaîne d'entrée. Par conséquent, dans la sortie, la chaîne exacte est affichée sous forme de tableau. Ceci uniquement si le format correspond aux données.
Code :
<?php // fetching the unique ID of product list($ID) = sscanf("SN/680001", "SN/%d"); // fetching date of manufacturing $manf = "March 03 2001"; // fetching the date of expiry $expiry = "March 03 2002"; // Parsing using sscanf function list($mon, $day, $yr) = sscanf($manf, "%s %d %d"); list($mon, $day, $yr) = sscanf($expiry, "%s %d %d"); echo "Product $ID was manufactured on $manf and will expire on: $yr-" . substr($mon, 0, 3) . "-$day\n"; ?>
Sortie :
Dans cet exemple, nous montrons comment vérifier et afficher les informations sur le produit telles que son identifiant de fabrication unique et la date d'expiration. Ainsi, dans le premier paramètre, nous récupérons les informations d'identification et les analysons au format %d. Ensuite, nous récupérons la date de fabrication et la date d'expiration du produit et les analysons au format requis à l'aide de la fonction sscanf. Puis afficher toutes les choses analysées en une seule phrase. Plusieurs éléments peuvent être ajoutés ici pour afficher les informations souhaitées.
Code:
<?php // Fetching designer info and to generate DressInfo entry $design = "13\tCoco Chanel"; $str = sscanf($design, "%d\t%s %s", $ID, $firstname, $lastname); // Displaying all the above details after formatting echo "<author id='$ID'> <firstname>$firstname</firstname> <surname>$lastname</surname> </author>\n"; ?>
Output:
In this example we are using sscanf function to first parse the ID and name of the designer. Then displaying the same in HTML format by splitting the names into first name and last name.
Code:
<?php // We are initializing the string here $arr = "Character PHP and number 7"; // Parsing the input string according to different format $format = sscanf($arr,"%s %c%c%c %s %s %d"); print_r($format); ?>
Output:
In the above example we are first initializing the string as required and this time including a few character sets in combination with strings. The same we are parsing using the sscanf function.
As seen above in all the examples, sscanf function in PHP is basically used to parse any type of the input string as per the requirements. There are a few cases where this function shows inefficiency to parse the strings, where there may be incorrect output when we try to parse a tab delimited string also having normal spaces in between. It also does not give the expected output if in the code there is a file name with its extension where it finds difficult to separate the two in presence of a “.”.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!