Hướng dẫn dùng str_pos trong PHP

Hàm strpos() sẽ tìm kiếm vị trí đầu tiên của kí tự hoặc chuỗi con xuất hiện trong chuỗi nguồn. Hàm trả về số nguyên là vị trí đầu tiên xuất hiện của kí tự hoặc chuỗi con trong chuỗi nguồn, lưu ý là chuỗi sẽ bắt đầu từ vị trí 0, không phải 1.

Hướng dẫn dùng str_pos trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Cú pháp

Cú phápstrpos( $str, $char, $position);

Trong đó:

  • $str là chuỗi nguồn.
  • $char là kí tự hoặc chuỗi con cần tìm kiếm trong chuỗi nguồn.
  • $position là vị trí bắt đầu tìm kiếm, có nghĩa là hàm  strpos() sẽ bỏ qua các kí tự trước vị trí $position trong chuỗi nguồn.

Ví dụ

Code

$str = 'abcdefghimk';
$pos = strpos($str, 'd');
echo $pos;

Code

$str = 'abcdefghdiklm';
$pos = strpos($str, 'd');
$pos2 = strpos($str, 'd', 5);
echo $pos . "
";
echo $pos2;

Code

$str = 'abcdefghdiklm';
$char = 'dk';
$pos = strpos($str, $char);
if ($pos == false) {
	echo "kí tự '" .$char. "' không tồn tại trong chuỗi";
}

Kết quả

kí tự 'dk' không tồn tại trong chuỗi

Tham khảo: php.net

Bài viết này được đăng tại [free tuts .net]

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).

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.

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.

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.

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)
  • Khi sử dụng hàm Strpos trong PHP, nó sẽ tìm vị trí của lần xuất hiện đầu tiên của chuỗi con hoặc kí tự trong chuỗi nguồn. Có 2 lưu ý đó là: Hàm strpos () phân biệt chữ hoa chữ thường và không áp dụng với nhị phân. Hàm trả về số nguyên là vị trí đầu tiên xuất hiện của kí tự hoặc chuỗi con trong chuỗi nguồn và lưu ý là chuỗi sẽ bắt đầu từ vị trí 0, không phải 1.

    Các chức năng liên quan:

    strrpos () - Tìm vị trí của lần xuất hiện cuối cùng của một chuỗi bên trong một chuỗi khác (phân biệt chữ hoa chữ thường).

    stripos () - Tìm vị trí của lần xuất hiện đầu tiên của một chuỗi bên trong một chuỗi khác (phân biệt chữ hoa chữ thường).

    strripos () - Tìm vị trí của lần xuất hiện cuối cùng của một chuỗi bên trong một chuỗi khác (phân biệt chữ hoa chữ thường).

    1. Cú pháp hàm Strpos trong PHP

    strpos( $str, $char, $position);

    Trong đó:

    • $str là chuỗi nguồn.

    • $char là kí tự hoặc chuỗi con cần tìm kiếm trong chuỗi nguồn.

    • $position là vị trí bắt đầu tìm kiếm, có nghĩa là hàm  strpos() sẽ bỏ qua các kí tự trước vị trí $position trong chuỗi nguồn.

    2. Ví dụ hàm Strpos trong PHP

    Ví dụ 1:

    Code:

    $str = 'abcdefghimk';

    $pos = strpos($str, 'd');

    echo $pos;

    Kết quả đưa ra màn hình:

    Ví dụ 2:

    Code

    $str = 'abcdefghdiklm';

    $pos = strpos($str, 'd');

    $pos2 = strpos($str, 'd', 5);

    echo $pos . "
    ";

    echo $pos2;

    Kết quả đưa ra màn hình:

    Ví dụ 3:

    Code:

    $str = 'abcdefghdiklm';

    $char = 'dk';

    $pos = strpos($str, $char);

    if ($pos == false) {

       echo "kí tự '" .$char. "' không tồn tại trong chuỗi";

    }

    Kết quả đưa ra màn hình:

    Một số hàm liên quan đó là:

    stripos () - Tìm vị trí xuất hiện đầu tiên của chuỗi con không phân biệt dạng chữ trong chuỗi

    strrpos () - Tìm vị trí của lần xuất hiện cuối cùng của chuỗi con trong chuỗi

    strripos () - Tìm vị trí của lần xuất hiện cuối cùng của chuỗi con không phân biệt dạng chữ trong chuỗi

    strstr () - Tìm sự xuất hiện đầu tiên của một chuỗi

    strpbrk () - Tìm kiếm chuỗi cho bất kỳ bộ ký tự nào

    substr () - Trả về một phần của chuỗi

    preg_match () - Thực hiện đối sánh cụm từ thông dụng.

    Hàm Strpos trong PHP an toàn nhị phân, dùng để tìm vị trí của lần xuất hiện đầu tiên của chuỗi con trong chuỗi. Với định nghĩa và ví dụ trên mong rằng bạn sẽ hiểu được cách sử dụng hàm strpos. Chúc các bạn thành công !.  

    Một số tài liệu về PHP liên quan khác bạn nên xem:

    • Khái niệm về Mảng trong PHP và các ví dụ về mảng cơ bản
    • Hướng dẫn sử dụng hàm preg_match trong PHP