Συνάρτηση strpos
Η συνάρτηση strpos επιστρέφει τη θέση
της πρώτης εμφάνισης μιας υποσυμβολοσειράς σε μια άλλη συμβολοσειρά
ή false, εάν η υποσυμβολοσειρά δεν βρεθεί.
Ως πρώτη παράμετρο η συνάρτηση δέχεται τη συμβολοσειρά
στην οποία πραγματοποιείται η αναζήτηση, ως δεύτερη παράμετρο
- την υποσυμβολοσειρά που πρέπει να αναζητήσει.
Από προεπιλογή, η συνάρτηση αναζητά από την αρχή της συμβολοσειράς μέχρι την πρώτη αντιστοίχιση. Η αρχή της αναζήτησης μπορεί να ρυθμιστεί με μια τρίτη προαιρετική παράμετρο - εάν οριστεί, τότε η αναζήτηση θα ξεκινήσει όχι από την αρχή της συμβολοσειράς, αλλά από την καθορισμένη θέση.
Υπάρχει επίσης η συνάρτηση stripos, η οποία
κάνει το ίδιο πράγμα, αλλά χωρίς διάκριση πεζών-κεφαλαίων.
Σύνταξη
strpos(string $haystack, string $needle, int $offset = 0): int|false
Παράδειγμα
Σε αυτό το παράδειγμα, η συνάρτηση θα επιστρέψει τη θέση του πρώτου
συμβόλου 'c'. Καταλαμβάνει τη θέση 2,
καθώς η αρίθμηση ξεκινά από το 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Αποτέλεσμα εκτέλεσης κώδικα:
2
Παράδειγμα
Σε αυτό το παράδειγμα, ορίζεται η τρίτη παράμετρος και
επομένως η αναζήτηση θα ξεκινήσει από την τρίτη θέση,
σε αυτή την περίπτωση η συνάρτηση θα βρει το δεύτερο σύμβολο
'c' και θα εκτυπώσει τη θέση του - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
8
Παράδειγμα
Εάν η υποσυμβολοσειρά δεν βρεθεί - τότε η συνάρτηση
θα επιστρέψει false. Εάν όμως η συμβολοσειρά βρίσκεται
στην αρχή, τότε η συνάρτηση θα επιστρέψει 0.
Αυτό μπορεί να είναι πρόβλημα κατά τη σύγκριση
μέσω της σύντομης μορφής συνθήκης:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Αποτέλεσμα εκτέλεσης κώδικα (όχι όπως αναμέναμε):
'---'
Παράδειγμα
Ας εκτελέσουμε τον σωστό έλεγχο για την αρχή της συμβολοσειράς:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'+++'
Δείτε επίσης
-
τη συνάρτηση
strrpos,
που επιστρέφει τη θέση της τελευταίας εμφάνισης υποσυμβολοσειράς -
τη συνάρτηση
str_contains,
που ελέγχει την εμφάνιση συμβόλου σε συμβολοσειρά -
τη συνάρτηση
str_starts_with,
που ελέγχει την αρχή της συμβολοσειράς -
τη συνάρτηση
str_ends_with,
που ελέγχει το τέλος της συμβολοσειράς -
τη συνάρτηση
array_search,
που πραγματοποιεί αναζήτηση σε πίνακα