Kết nối

Hàm strpos() trong PHP

94 lượt xem 
 
Thể loại: Hàm PHP 

Hàm strpos dùng để tìm vị trí xuất hiện đầu tiên của một chuỗi con trong chuỗi cho trước. Hàm này được áp dụng ở PHP 4, PHP 5, và PHP 7. Đây cũng là một trong những hàm được các lập trình viên sử dụng nhiều nhất khi lập trình PHP.

Lưu ý hàm strpos phân biệt hoa thường và là hàm an toàn nhị phân (binary-safe).

Mô tả hàm

Tìm vị trí đầu tiên (tính theo số thứ tự) của $find trong $string.

int strpos ( string $string , mixed $find [, int $position = 0 ] )

Tham số

  • string: Chuỗi dùng để tìm kiếm chuỗi con.
  • find: Chuỗi con cần tìm trong chuỗi. Nếu chuỗi con không có dạng dữ liệu string (chuỗi) thì nó được chuyển sang một số nguyên (integer) và áp dụng như một giá trị thứ tự (số) của một ký tự.
  • position: Tham số tùy chọn (có thể có hoặc có thể không) định nghĩa vị trí sẽ bắt đầu tìm kiếm tính từ đầu chuỗi. Nếu giá trị offset là số âm, việc tìm kiếm sẽ bắt đầu từ số lượng ký tự tính từ cuối của chuỗi, tuy nhiên có thể trả về kết quả lỗi strpos(): Offset not contained in string on line…

Giá trị trả về

Giá trị trả về là vị trí (số nguyên – integer) của chuỗi cần tìm.

Ví dụ 1

Trong ví dụ này, bạn sẽ tìm vị trí chuỗi “b” trong chuỗi “abcdefg”, kết quả là vị trí thứ 1.

<?php
$chuoi = 'abcdefg';
$chuoicantim  = 'b';
$pos = strpos($chuoi, $chuoicantim);

if ($pos === false) {
    echo "$chuoicantim không tìm thấy trong '$chuoi'";
} else {
    echo "$chuoicantim tìm thấy trong '$chuoi'";
    echo " và nằm ở vị trí $pos";
}

//-- Kết quả: Chuỗi b tìm thấy trong 'abcdefg' và nằm ở vị trí 1
?>

Ví dụ 2

Ví dụ sau tìm kiếm chuỗi “a” trong chuỗi “abcdef abcdef” với vị trí tìm thấy là 1. Do đó, kết quả của biến $post là 7 chứ không phải là 0.

<?php
$chuoi = 'abcdef abcdef';
$pos = strpos($chuoi, 'a', 1); 
echo $pos;
//Kết quả: biến $pos có giá trị là 7, chứ không phải là 0, do vị trí tìm bắt đầu từ 1.
?>

Ví dụ 3

Ví dụ tìm kiếm số 123 trong chuỗi “abcdef123 abcdef”. Do kiểu dữ liệu số 123 khác với kiểu dữ liệu chuỗi ‘123’ trong chuỗi, do đó kết quả là rỗng.

<?php
$chuoi = 'abcdef123 abcdef';
$pos = strpos($chuoi, 123); 
echo $pos;
//Kết quả: biến $pos có giá trị rỗng.
?>

Một số hàm liên quan

Ngoài ra, bạn cũng có thể sử dụng một số hàm liên quan như sau:

  • strrpos() – Tìm vị trí xuất hiện cuối cùng của một chuỗi con trong chuỗi (phân biệt hoa thường)
  • stripos() – Tìm vị trí xuất hiện đầu tiên của một chuỗi bên trong chuỗi (không phân biệt hoa thường)
  • strripos() – Tìm vị trí xuất hiện cuối cùng của một chuỗi con trong chuỗi (không phân biệt hoa thường)
Bài viết liên quan

Bình luận Facebook

Để lại bình luận

avatar
1000
  Subscribe  
Notify of