Hàm strpos
Hàm strpos trả về vị trí
xuất hiện đầu tiên của chuỗi con trong một chuỗi khác
hoặc false nếu không tìm thấy chuỗi con.
Tham số đầu tiên hàm nhận là chuỗi
được tìm kiếm, tham số thứ hai
- là chuỗi con cần tìm.
Theo mặc định, hàm tìm kiếm từ đầu chuỗi cho đến khi khớp đầu tiên. Điểm bắt đầu tìm kiếm có thể được điều chỉnh bằng tham số thứ ba tùy chọn - nếu được chỉ định, việc tìm kiếm sẽ bắt đầu không phải từ đầu chuỗi, mà từ vị trí được chỉ định.
Ngoài ra còn có hàm stripos, hàm này
thực hiện điều tương tự, nhưng không phân biệt chữ hoa chữ thường.
Cú pháp
strpos(string $haystack, string $needle, int $offset = 0): int|false
Ví dụ
Trong ví dụ này, hàm sẽ trả về vị trí của ký tự đầu tiên
'c'. Nó chiếm vị trí 2,
vì việc đếm bắt đầu từ 0:
<?php
echo strpos('abcde abcde', 'c');
?>
Kết quả thực thi mã:
2
Ví dụ
Trong ví dụ này, tham số thứ ba được chỉ định và
do đó việc tìm kiếm sẽ bắt đầu từ vị trí thứ ba,
trong trường hợp này hàm sẽ tìm thấy ký tự thứ hai
'c' và xuất ra vị trí của nó - 8:
<?php
echo strpos('abcde abcde', 'c', 3);
?>
Kết quả thực thi mã:
8
Ví dụ
Nếu không tìm thấy chuỗi con - hàm
sẽ trả về false. Nếu chuỗi nằm
ở đầu, hàm sẽ trả về 0.
Điều này có thể gây ra vấn đề khi so sánh
bằng điều kiện dạng ngắn:
<?php
if (strpos('http://site.ru', 'http://')) {
echo '+++';
} else {
echo '---';
}
?>
Kết quả thực thi mã (không như chúng ta mong đợi):
'---'
Ví dụ
Hãy thực hiện kiểm tra đúng cho phần đầu chuỗi:
<?php
if (strpos('http://site.ru', 'http://') === 0) {
echo '+++';
} else {
echo '---';
}
?>
Kết quả thực thi mã:
'+++'
Xem thêm
-
hàm
strrpos,
hàm trả về vị trí xuất hiện cuối cùng của chuỗi con -
hàm
str_contains,
hàm kiểm tra sự xuất hiện của ký tự trong chuỗi -
hàm
str_starts_with,
hàm kiểm tra phần đầu chuỗi -
hàm
str_ends_with,
hàm kiểm tra phần cuối chuỗi -
hàm
array_search,
hàm thực hiện tìm kiếm trong mảng