PHP sscanf() functie
Voorbeeld
Parseer de teekensreeks:
<?php $str = "age:30 weight:60kg"; sscanf($str,"age:%d weight:%dkg",$age,$weight); // Toon type en waarde var_dump($age,$weight); ?>
Definitie en gebruik
De functie sscanf() parseert de invoer van de teekensreeks op basis van het opgegeven formaat. De functie sscanf() parseert de teekensreeks naar variabelen op basis van de formatte string.
Als er maar twee parameters naar deze functie worden doorgegeven, worden de gegevens in de vorm van een array geretourneerd. Als er extra parameters worden doorgegeven, worden de geparseerde gegevens in deze parameters opgeslagen. Als het aantal onderscheidingstekens groter is dan het aantal variabelen die ze bevatten, zal er een fout optreden. Hoewel, als het aantal onderscheidingstekens kleiner is dan het aantal variabelen die ze bevatten, bevatten de extra variabelen NULL.
Gerelateerde functies:
Syntaxis
sscanf(string,format,arg1,arg2,arg++)
Parameter | Beschrijving |
---|---|
string | Verplicht. Bepaal de te lezen teekensreeks. |
format |
Verplicht. Bepaal het te gebruiken formaat. Mogelijke formatwaarden:
Aanvullende opmaakwaarden. Verplicht te plaatsen tussen % en een letter (bijvoorbeeld %.2f):
Opmerking:Als je meerdere van de bovenstaande opmaakwaarden gebruikt, moeten ze in de volgorde van hierboven worden gebruikt. |
arg1 | Optioneel. De eerste variabele waarin de gegevens worden opgeslagen. |
arg2 | Optioneel. De tweede variabele waarin de gegevens worden opgeslagen. |
arg++ | Optioneel. De derde en vierde variabelen waarin de gegevens worden opgeslagen, enz. |
Technische details
Retourwaarde: | Als je alleen twee parameters naar deze functie stuurt, wordt de data als een array geretourneerd. Als je extra parameters stuurt, worden de geparseerde gegevens opgeslagen in deze parameters. Als het aantal delimiters groter is dan het aantal variabelen die het bevat, ontstaat er een fout. Als het aantal delimiters kleiner is dan het aantal variabelen die het bevat, bevatten de extra variabelen NULL. |
PHP Versie: | 4.0.1+ |
Meer voorbeelden
Voorbeeld 1
Gebruik de opmaakwaarden %s, %d en %c:
<?php $str = "Als je 4 door 2 deelt, krijg je 2"; $format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r($format); ?>