Forum und email

split

(PHP 4, PHP 5)

split — χωρισμός ενός string σε array με βάση ένα regular expression

Περιγραφή

array split ( string $pattern , string $string [, int $limit ] )

Note: Η συνάρτηση preg_split(), που χρησιμοποιεί συντακτικό regular expression συμβατό με Perl, χρησιμοποιείται συχνά σαν μια εναλλακτική συνάρτηση αντί για την split().

Επιστρέφει ένα πίνακα από string, κάθε στοιχείο του οποίου είναι ένα κομμάτι της παραμέτρου string , χωρίζοντας το string σε όρια που καθορίζονται από τις εμφανίσεις του regular expression pattern . Αν η παράμετρος limit έχει δοθεί, ο πίνακας που επιστρέφεται περιέχει το πολύ limit στοιχεία με το τελευταίο στοιχείο να περιέχει το υπόλοιπο της παραμέτρου string . Αν προκληθεί κάποιο λάθος, η συνάρτηση split() επιστρέφειε FALSE.

Για να χωρίσετε τα τέσσερα πρώτα πεδία μιας γραμμής από το αρχείο /etc/passwd:

Example#1 παράδειγμα συνάρτησης split()

list($user,$pass,$uid,$gid,$extra)= split (":", $passwd_line, 5);

Note: Αν υπάρχουν χ εμφανίσεις του pattern , ο πίνακας που επιστρέφεται θα περιέχει χ+1 στοιχεία. Για παράδειγμα, αν δεν υπάρχει καμία εμφάνιση του pattern , ένας πίνακας με μόνο ένα στοιχείο επιστρέφεται. Φυσικά, το ίδιο γίνεται κι όταν η παράμετρος string είναι κενή.

Για να ξεχωρίσετε τα μέρη μιας ημερομηνίας όταν αυτά χωρίζονται με slashes, τελείες ή παύλες:

Example#2 παράδειγμα συνάρτησης split()

$date = "04/30/1973";  // διαχωριστικός χαρακτήρας = slash, τελεία, ή παύλα
list ($month, $day, $year) = split ('[/.-]', $date);
echo "Μήνας: $month; Ημέρα: $day; Έτος: $year<br>\n";

Η διαφορά κεφαλαίων-μικρών χαρακτήρων στην παράμετρο pattern λαμβάνεται υπόψη.

Αν δεν χρειάζεστε απαραιτήτως την ευελιξία των regular expression είναι πιο γρήγορη η συνάρτηση explode() που δεν χρησιμοποιεί τον μηχανισμό των regular expression.

For users looking for a way to emulate Perl's @chars = split('', $str) behaviour, please see the examples for preg_split().

Η παράμετρος pattern είναι ένα regular expression. Αν θέλετε να χωρίσετε το string με βάση κάποιο από τους χαρακτήρες που έχουν ειδική σημασία στα regular expression θα πρέπει να τους κάνετε escape πρώτα. Αν κάποια στιγμή νομίσετε ότι η split() (ή κάποια άλλη συνάρτηση που χρησιμοποιεί regular expression) κάνει κάτι περίεργο, διαβάστε το αρχείο regex.7, που περιέχεται στον κατάλογο regex/ της διανομής του PHP. Είναι σε μορφή manpage, οπότε θα πρέπει να κάνετε κάτι σαν man /usr/local/src/regex/regex.7 για να το διαβάσετε.

Δείτε επίσης τις συναρτήσεις: preg_split(), spliti(), explode(), implode(), chunk_split(), και wordwrap().