Hàm strstr() trong PHP
Trần Thị Vân
- 1194
- 27/07/2025
Chức năng của Hàm strstr() trong PHP
Hàm strstr() trong PHP dùng để kiểm tra một chuỗi con có nằm trong một gốc hay không, nếu có thì nó sẽ trả về một phần của chuỗi lớn với vị trí bắt đầu là chuỗi con đến hết chuỗi, nếu không có thì nó sẽ trả về rỗng, lưu ý hàm này phân biệt rõ chữ hoa và chữ thường.
Cú pháp của Hàm strstr() trong PHP
$kết_quả = strstr($chuỗi_gốc,"chuỗi_con");
chuỗi_con: Chuỗi con cần kiểm tra xem có tồn tại trong chuỗi gốc hay không (có phân biệt chữ hoa chữ thường)
$chuỗi_gốc: Biến chuỗi gốc.
$kết_quả: Kết quả trả về nếu tồn tại chuỗi con thì sẽ trả về chuỗi (từ vị trí của chuỗi con đến hết chuỗi gốc), ngược lại trả về rỗng.
Ví dụ Hàm strstr() trong PHP
<?php
$chuoigoc = "Chúng Tôi Xin Chào Quý Khách!";
?>
<h2>Kiểm tra chữ Xin cho nằm trong chuỗi gốc không</h2>
<?=strstr($chuoigoc,"Xin");?>
<h2>Kiểm tra chữ xin cho nằm trong chuỗi gốc không</h2>
<?=strstr($chuoigoc,"xin");?>
Kết quả:
/////Kiểm tra chữ 'Xin' cho nằm trong chuỗi gốc không
Xin Chào Quý Khách!
/////Kiểm tra chữ 'xin' cho nằm trong chuỗi gốc không
Những điểm cần lưu ý khi sử dụng hàm strstr() trong PHP
strstr() khá thuận tiện khi cần lấy một phần chuỗi bắt đầu từ vị trí xuất hiện của chuỗi con. Tuy nhiên, để sử dụng đúng mục đích, cần chú ý đến cách hàm xử lý kết quả và phân biệt với những hàm tìm kiếm chuỗi khác.
strstr() khác gì strpos() trong PHP?
Điểm khác biệt quan trọng nhất nằm ở giá trị trả về. strpos() trả về vị trí của chuỗi con trong chuỗi ban đầu, còn strstr() trả về phần chuỗi bắt đầu từ vị trí tìm thấy.
Ví dụ, với chuỗi website Web Mới, nếu tìm từ khóa Web, strpos() cho biết vị trí xuất hiện của từ khóa, trong khi strstr() trả về phần chuỗi từ Web trở về sau.
<?php
$text = "website Web Mới";
echo strpos($text, "Web");
echo "<br>";
echo strstr($text, "Web");
?>
Vì vậy, nếu chỉ cần kiểm tra chuỗi con xuất hiện ở đâu, strpos() thường phù hợp hơn. Nếu cần lấy luôn phần chuỗi bắt đầu từ vị trí đó, strstr() sẽ trực tiếp và dễ đọc hơn.
Khi nào nên dùng strstr() thay vì các hàm tìm chuỗi khác?
Nên dùng strstr() khi mục tiêu không chỉ là xác định chuỗi con có tồn tại mà còn cần lấy phần nội dung phía sau vị trí tìm thấy. Cách này hữu ích khi xử lý chuỗi có cấu trúc đơn giản, chẳng hạn tách phần tên miền, lấy phần dữ liệu sau một ký tự phân cách hoặc tìm phần còn lại của một chuỗi.
Ngược lại, nếu chỉ cần kiểm tra sự tồn tại của chuỗi con, có thể cân nhắc strpos() để thể hiện rõ ý định xử lý. Với trường hợp cần tìm không phân biệt chữ hoa và chữ thường, stristr() có thể phù hợp hơn.
Việc chọn đúng hàm giúp mã PHP ngắn gọn và dễ hiểu hơn, đồng thời tránh phải xử lý thêm kết quả không cần thiết.
Lưu ý về chữ hoa và chữ thường khi tìm chuỗi
strstr() phân biệt chữ hoa và chữ thường khi tìm chuỗi. Điều đó có nghĩa là chuỗi PHP và php được xem là hai giá trị khác nhau.
<?php
$text = "Học PHP cùng Web Mới";
$result = strstr($text, "php");
var_dump($result);
?>
Trong trường hợp này, chuỗi tìm kiếm không khớp chính xác với PHP trong nội dung nên kết quả không phải là phần chuỗi mong muốn. Nếu dữ liệu đầu vào có thể sử dụng nhiều kiểu viết hoa, viết thường, cần cân nhắc cách xử lý trước khi tìm kiếm hoặc sử dụng hàm phù hợp với nhu cầu.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm strstr() trong PHP.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *