Συνάρτηση sscanf() PHP
Παράδειγμα
Ανάλυση συμβολοσειράς:
<?php $str = "age:30 weight:60kg"; sscanf($str,"age:%d weight:%dkg",$age,$weight); // Εμφάνιση τύπου και τιμής var_dump($age,$weight); ?>
Ορισμός και χρήση
Η συνάρτηση sscanf() αναλύει την είσοδο από τη συμβολοσειρά ανάλογα με το καθορισμένο μοτίβο. Η συνάρτηση sscanf() αναλύει τη συμβολοσειρά ανάλογα με τη μορφοποιητική συμβολοσειρά.
Αν αποσταλεί μόνο δύο παραμέτρους στο πρόγραμμα, τα δεδομένα θα επιστρέψουν σε μορφή μαζικού. Αν αποσταλεί επιπλέον παραμέτρους, τα δεδομένα που θα αναλύονται θα αποθηκευτούν στις παραμέτρους αυτές. Αν ο αριθμός των διαχωριστών είναι μεγαλύτερος από τον αριθμό των μεταβλητών που περιέχουν, θα προκύψει σφάλμα. Ωστόσο, αν ο αριθμός των διαχωριστών είναι μικρότερος από τον αριθμό των μεταβλητών, οι επιπλέον μεταβλητές θα περιέχουν NULL.
Συμπαράμετροι:
Γλώσσα
sscanf(συμβολοσειρά,μορφοποίηση,arg1,arg2,arg++)
Παράμετρος | Περιγραφή |
---|---|
συμβολοσειρά | Απαιτείται. Ορίζει τη συμβολοσειρά που θα διαβαστεί. |
μορφοποίηση |
Απαιτείται. Ορίζει τη μορφοποίηση που θα χρησιμοποιηθεί. Πιθανές τιμές μορφοποίησης:
Προσθέσεις μορφοποιητικών τιμών. Είναι απαραίτητο να τοποθετηθούν μεταξύ % και γραμμάτων (π.χ. %.2f)
Σχόλια:Αν χρησιμοποιήσετε πολλαπλές από τις παραπάνω μορφοποιητικές τιμές, πρέπει να χρησιμοποιηθούν σε αυτή τη σειρά. |
arg1 | Optional. Αποθήκευση δεδομένων στη πρώτη μεταβλητή. |
arg2 | Optional. Αποθήκευση δεδομένων στη δεύτερη μεταβλητή. |
arg++ | Οptional. Αποθήκευση δεδομένων στις τρίτη και τέταρτη μεταβλητές, και ούτω καθεξής. |
Τεχνικά Στοιχεία
Αποτελέσματα: | Αν περάσετε δύο παραμέτρους μόνο σε αυτή τη συνάρτηση, τα δεδομένα θα επιστρέψουν σε μορφή πίνακα. Αν περάσετε επιπλέον παραμέτρους, τα δεδομένα που θα αναλύονται θα αποθηκευτούν σε αυτές τις παραμέτρους. Αν ο αριθμός των διαχωριστικών είναι μεγαλύτερος από τον αριθμό των μεταβλητών που περιέχουν, θα προκύψει σφάλμα. Ωστόσο, αν ο αριθμός των διαχωριστικών είναι μικρότερος από τον αριθμό των μεταβλητών που περιέχουν, οι επιπλέον μεταβλητές θα περιέχουν NULL. |
Έκδοση PHP: | 4.0.1+ |
Περισσότερα Παραδείγματα
Παράδειγμα 1
Χρήση μορφοποιητικών τιμών %s, %d και %c:
<?php $str = "If you divide 4 by 2 you'll get 2"; $format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r($format); ?>