12 Hàm thao tác với Chuỗi trong PHP thường gặp nhất (PHP String Functions)

Thao tác với chuỗi (String) trong PHP là một kỹ năng cực kỳ quan trọng khi lập trình web với PHP.

Hôm nay mình sẽ hướng dẫn bạn cách sử dụng 12 hàm thao tác với chuỗi thường gặp nhất trong PHP thông qua ví dụ cụ thể.

Ví dụ về các hàm thao tác với chuỗi trong PHP

Ví dụ về những hàm thao tác với chuỗi trong PHP

1. Một chuỗi là gì? What is a String?

Một chuỗi là một tập hợp các ký tự. Chuỗi là một trong số các kiểu dữ liệu (data types) được PHP hỗ trợ. 

Chuỗi bao gồm cả ký tự và số. Chuỗi được tạo ra khi:

  • Bạn khai báo chuỗi và gán vào đó một chuỗi
  • Bạn hoàn toàn có thể trực tiếp sử dụng chuỗi với echo .

Chuỗi là ngôn ngữ kiến trúc. Nó giúp hình thành từ ngữ.

Học làm thế nào làm việc với chuỗi trọng PHP và điều khiển chúng sẽ giúp bạn lập trình tốt hơn.

2. Ví dụ về cách tạo một chuỗi trong PHP

Bây giờ hãy xem 4 cách khác nhau để tạo ra một chuỗi.

Tạo chuỗi bằng cách sử dụng dấu nháy đơn ‘ ‘ (Đây là cách đơn giản nhất để tạo ra một chuỗi)

Hãy nhìn vào ví dụ tạo chuỗi bằng cách sử dụng dấu nháy đơn trong PHP dưới đây:

            
        

Kết quả tất cả chúng ta nhận được sẽ là :

            
        

Nếu dấu nháy đơn hoặc trong chuỗi có ký tự đặc biệt nào đó cần hiển thị. Ta sử dụng dấu \ trước ký tự đó như ví dụ bên dưới:

            
        

Kết quả tất cả chúng ta nhận được :

            
        

3. Tạo Chuỗi sử dụng dấu nháy đôi trong PHP

Cặp dấu nháy đôi ” ” được sử dụng để tạo ra chuỗi tương đối phức tạp hơn so với dấu nháy đơn ‘ ‘. 

Tên biến có thể được sử dụng trong đó và và giá trị của biến sẽ được hiển thị.

Hãy thử xem một ví dụ:

            
        

Giải thích một chút ít về chương trình :

  • Bạn ta tạo một biến USD name có giá trị là NIIT – ICT Hà Nộiến

  • Biến USD name sau đó được đặt vào trong câu lệnh echo (sử dụng dấu nháy đôi)

  • Giá trị của biến USD name sẽ được nội suy trong quá trình chạy chương trình.

Kết quả tất cả chúng ta nhận được như sau :

            
        

Chính vì nó sẽ được nội suy nên nếu chúng ta đặt ký tự \ n thì tại điểm đó chuỗi xuất ra sẽ tự động xuống dòng.

Hoặc \ \ để thêm dấu \ khi chương trình xuất chuỗi ra.

Nếu không sử dụng dấu \ trước các ký tự đặc biệt thì chương trình sẽ ném cho chúng ta một lỗi, ví dụ:

            
        

Kết quả :

            
        

Đây là bởi vì khi thực thi, chương trình đã coi như USD word là một biến. Và biến $word chúng ta chưa khai báo nên dẫn tới lỗi trong quá trình chạy.

Nếu chúng ta muốn sử dụng dấu $ như là một ký tự và muốn xuất nó ra thì chúng ta sử dụng dấu \ ngay trước ký tự $ như ví dụ dưới đây:

            
        

Kết quả tất cả chúng ta nhận được là :

            
        

Như bạn thấy, mặc dầu tất cả chúng ta đã khai báo và khởi tạo biến USD word nhưng chương trình đã hiểu đúng là tất cả chúng ta cần xuất ký tự USD ra màn hình hiển thị .

4. PHP Heredoc

Phương pháp heredoc được sử dụng để tạo ra chuỗi khá phức tạp so với dấu nháy đơn (hoặc nháy đôi). 

Các heredoc hỗ trợ tất cả các đặc tính của nháy đôi và cho phép tạo chuỗi giá trị nhiều hơn một dòng mà không cần nối chuỗi. 

Sử dụng dấu nháy đôi để tạo chuỗi trên nhiều dòng sẽ tạo ra một lỗi. 

Nếu sử dụng Heredoc thì bạn có thể sử dụng cả dấu nháy đôi trong đó luôn.

Ví dụ dưới đây mô tả cách Heredoc được sử dụng để tạo ra chuỗi.

            
        

<<

EOT; là thông báo cho chương trình kết thúc chuỗi.

Giống như thẻ mở và thẻ đóng vậy. Bạn có thể đặt bất kỳ thứ gì bạn thích ở trong này.

            
        

5. PHP Nowdoc

Các Nowdoc tạo ra phương pháp tương tự như là heredoc nhưng hoạt động như cách dấu nháy đơn làm việc.

Nội suy không diễn ra bên trong Nowdoc. 

Nowdoc là lý tưởng khi làm việc với dữ liệu thô không cần phải được phân tích.

Ví dụ dưới đây sẽ cho bạn thấy cách Nowdoc hoạt động:

            
        

Chúng ta nhận được hiệu quả :

            
        

6. Ví dụ về 12 hàm thao tác với chuỗi thường gặp nhất trong PHP

PHP đã tạo ra các hàm có sẵn để sử dụng thao tác với chuỗi. 

Bây giờ chúng ta sẽ đi vào xem ví dụ về các hàm thao tác với chuỗi thường gặp nhất.

6.1. Ví dụ về hàm strtolower trong PHP

Hàm strtolower() sử dụng để chuyển đổi tất cả các ký tự trong chuỗi thành ký tự viết thường:

            
        

Kết quả :

            
        

6.2. Hàm strtoupper

Sử dụng để quy đổi tổng thể những ký tự từ chữ thường sang chữ Hoa

            
        

Kết quả :

            
        

6.3. Hàm strlen

Hàm strlen sử dụng để tính số lượng ký tự có trong chuỗi. Khoảng trắng cũng được tính luôn.

            
        

6.4. Hàm explode

            
        

Kết quả :

            
        

6.5. Hàm substr

Hàm substr sử dụng để trả lại một phần của một chuỗi.

Hàm substr chấp nhận 3 tham số.

  • Tham số tiên phong chuỗi truyền vào
  • Tham số thứ hai là vị trí của điểm khởi đầu
  • Tham số thứ ba số là số ký tự tính từ điểm mở màn cần lấy
            
        

6.6. Hàm str_replace

Hàm str_replace s

ử dụng để xác định vị trí và thay thế chuỗi trong một chuỗi khác.

Hàm str_replace sử dụng 3 tham số:

  • Đầu tiên, chuỗi cần phải thay thế sửa chữa ra
  • Thứ hai là chuỗi cần thay thế sửa chữa vào
  • Thứ ba đoạn văn bản .

Code ví dụ :

            
        

6.7. Ví dụ về Hàm strpos trong PHP

Hàm strpos sử dụng để xác định vị trí bắt đầu của một chuỗi trong một chuỗi khác.

Giá trị trả về của hàm strpos: Vị trí xuất hiện đầu tiên của một chuỗi bên trong một chuỗi khác hoặc FALSE nếu không tìm thấy chuỗi.

Lưu ý: Vị trí chuỗi bắt đầu từ 0 chứ không phải 1.

Cú pháp hàm strpos():

strpos (

string, find, start

)

  • string: chuỗi nhỏ cần tìm kiếm vị trí đầu tiên của nó

  • find: Chuỗi lớn mà có thể chứa chuỗi cần tìm

  • start: Đây là một tùy chọn, chị định vị trí bắt đầu tìm kiếm

Code ví dụ về hàm strpos trong PHP:

            
        

Ở ví dụ trên thì bạn biết được một chuỗi nằm trong một chuỗi khác bắt đầu từ vị trí bao nhiêu.

Tuy nhiên, Để sử dụng kết quả này chúng ta cũng cần lưu ý một chút, để hiểu rõ hơn strpos hãy đi vào ví dụ:

            
        

Lưu ý rằng việc sử dụng điều kiện ! = = false là có chủ ý vì:

Hàm strpose() trả về giá trị chuỗi con bắt đầu trong chuỗi lớn hoặc giá trị boolean false nếu không tìm thấy.

Vì vị trí đầu tiên sẽ trong chuỗi là 0 và vị trí 0 vẫn hợp lệ, hơn nữa 0 là falsy value, nên chúng ta không thể sử dụng các cấu trúc đơn giản hơn như là ! Strpose ( USD a, ‘ là ‘ ) hay là ! =.

Nếu bạn sử dụng ! = false thì kết quả sẽ bị sai, ví dụ:

            
        

Lưu ý là Hàm strpos trong PHPphân biệt hoa thường nên khi so sánh phải lưu ý, nếu không bạn cũng sẽ nhận được kết quả không mong muốn.

            
        

Khi kiểm tra bạn cũng cần lưu ý thêm một điều, ví dụ:

Chuỗi ‘ là ‘ có trong ‘ Bạn tên là gì ? ‘ nhưng cũng có trong chuỗi ‘ Bạn ở làng nào ? ‘

            
        

Để kiểm tra riêng biệt một từ riêng biệt thì mình khuyên bạn nên truyền thêm dấu cách, ví dụ như ‘ là ‘

Một số hàm liên quan với hàm strpos() trong PHP:

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

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

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

Bạn cũng có thể sử dụng Biểu thức chính quy để xác định xem một chuỗi có tồn tại trong chuỗi khác hay không.

>>> Xem ngay bài Biểu thức chính quy trong PHP

Tuy nhiên, về hiệu năng thì bài toán sử dụng 1 triệu so sánh cùng một lúc, hàm preg_match sử dụng biểu thức chính quy mất 1.5 s trong khi hàm strpos chỉ mất khoảng 0.5 s.

Còn về mặt kỹ thuật, câu hỏi hỏi “Làm thế nào để tìm các từ” không phải là một chuỗi con. Thì biểu thức chính quy có thể sẽ hữu ích hơn.Cách sử dụng những hàm này cũng tương tự như hàm strpos nhưng với mục tiêu khác nhau đã được PHP phân phối sẵn. Bạn cũng hoàn toàn có thể sử dụng Biểu thức chính quy để xác lập xem một chuỗi có sống sót trong chuỗi khác hay không. >> > Xem ngay bàiTuy nhiên, về hiệu năng thì bài toán, hàmsử dụng biểu thức chính quy mấttrong khichỉ mất khoảngCòn về mặt kỹ thuật, câu hỏi hỏi ” Làm thế nào để tìm những từ ” không phải là một chuỗi con. Thì biểu thức chính quy hoàn toàn có thể sẽ hữu dụng hơn .

6.8. Hàm sha1

Hàm sha1 sử dụng để băm một chuỗi sang SHA-1

Code ví dụ:

            
        

6.9.  Hàm md5

Hàm md5 được sử dụng để băm một chuỗi sang chuẩn md5

            
        

6.10. Hàm str_word_count

Hàm str_word_count được sử dụng để đếm các từ có trong một chuỗi.

Code ví dụ:

            
        

6.11. Hàm ucfirst

Hàm ucfirst được sử dụng để chuyển chữ cái đầu tiên của mỗi từ thành chữ Hoa.

Code ví dụ:

            
        

6.12. Hàm lcfirst

Hàm lcfirst được sử dụng để biến chữ cái đầu của chuỗi thành chữ thường.

Code ví dụ:

            
        

PHP String FunctionsBạn hoàn toàn có thể khám phá kỹ hơn về toàn bộ những hàm thao tác với chuỗi đã được PHP phân phối sẵn tại đây :

Tổng kết

Như vậy, qua bài này các bạn đã biết 4 cách tạo chuỗi trong PHP và tìm hiểu 12 hàm thao tác với chuỗi thường gặp nhất trong PHP

  • 15+ Hàm thao tác với chuỗi thường gặp nhất trong JavascriptTham khảo :

>>> Tham gia ngay khóa học Lập trình Web với PHP tại NIIT – ICT Hà Nội để học từ cơ bản đến nâng vào về Web PHP.Hãy thử tìm hiểu và khám phá thêm những hàm thao tác với chuỗi trong PHP trong tài liệu chuẩn của PHP.NET. Bạn hoàn toàn có thể sẽ tìm thấy nhiều giải pháp giật mình mà bạn chưa từng nghĩ là chúng đã được dựng sẵn. >> > Tham gia ngay khóa họctại NIIT – ICT TP.HN để học từ cơ bản đến nâng vào về Web PHP .