Chuỗi trong PHP là một thành phần quan trọng và không thể thiếu khi làm việc với PHP, và để làm việc hiệu quả với chuỗi ta cần hiểu rõ về chuỗi, cách xử lý chuỗi và các hàm làm việc với chuỗi. Trong bài viết này ta sẽ tìm hiểu về chuỗi và một số hàm thông dụng trong việc xử lý chuỗi trong PHP.

1. Chuỗi trong PHP là gì? Lưu ý khi làm việc với chuỗi PHP:

Trong PHP, chuỗi (hay còn gọi là string) là một loại dữ liệu được sử dụng để lưu trữ và làm việc với các đoạn văn bản. Chuỗi có thể chứa một loạt các ký tự, bao gồm cả chữ cái, chữ số, ký tự đặc biệt và khoảng trắng.

Cú pháp để tạo một chuỗi trong PHP là bao quanh đoạn văn bản bằng dấu nháy đơn ('') hoặc dấu nháy kép (""). Ví dụ:

<?php
    $str_1 = ‘Hello World!’;
    $str_2 = “Hello World!”;

Chuỗi trong PHP có thể được truy cập và thao tác như một mảng các ký tự. Ví dụ:

<?php
    $str_1 = “Hello”;
    echo $str[0]; // Result: “H”
    echo $str[1]; // Result: “e”
    $str[2] = “”;
    Echo $str; // Result: “Helo”
    $str[3] = “r;
    echo $str; // Result: “Hero”
  • Để nối 2 chuỗi ta có thể sử dụng toán tử “.” hoặc toán tử “.=”
<?php
    $str_1 = "Hello";
    $str_2 = "World!";
    printf("%s %s", $str_1, $str_2); 	// Result: Hello World!
    echo $str_1." ".$str_2;		// Result: Hello World!
    $str1 .= $str_2;			// Result: HelloWorld!

    echo "$string_1 $string_2";		// Result: HelloWorld! World!

    $string_3 = "\"Hello\"";
    echo "$string_3 $string_2";		// Result: "Hello" World!;

    $string_4 = "'Hello'";
    echo "$string_4 $string_2";		// Result: 'Hello' World!;

Lưu ý:

  • Toán tử ‘.=’ sẽ không có ký tự nào được thêm vào giữa $str_1 và $str_2 cho nên kết quả in ra sẽ không tồn tại khoảng trắng giữa 2 chuỗi, đồng thời với toán tử ‘.=’ sẽ gán giá trị mới sau khi nối 2 chuỗi cho chuỗi $str_1.
  • Với dấu nháy “ ta sẽ không cần nối chuỗi khi sử dụng biến.
  • Khi in ra chuỗi với dấu nháy ” nếu trong chuỗi có dấu ” thì cần thêm dấu \ (còn được gọi là escape sequences) vào trước dấu ” trong chuỗi.
  • Khi in ra chuỗi với dấu nháy ” nếu trong chuỗi có dấu ’ thì không cần thêm ký tự đặc biệt gì trước nó.

2. Một số hàm xử lý với chuỗi trong PHP

  • Hàm đếm số ký tự trong chuỗi:
    Cú pháp: strlen($str)
    Đầu vào:
    • $str: Chuỗi cần đếm số ký tự.
<?php
    $str_1 = "Hello World!";
    echo strlen($str_1);	// Result: 12
  • Hàm đếm số từ trong chuỗi:
    Cú pháp: str_word_count($str)
    Đầu vào:
    • $str: Chuỗi cần đếm số từ.
<?php
    $str_1 = "Hello World!";
    echo str_word_count($str_1);	// Result: 2
  • Hàm lặp chuỗi:
    Cú pháp: str_repeat($str, $rep)
    Đầu vào:
    • $str: Chuỗi cần lặp lại.
    • $rep: Số lần lặp lại.
<?php
    $str_1 = "Hello";
    $str_2 = "World!";
    echo $str_1 . str_repeat(" $str_2", 2); // Result: Hello World! World!
  • Hàm tìm kiếm và thay thế chuỗi:
    Cú pháp: str_replace($q, $replace, $str)
    Đầu vào:
    • $q: Từ khóa tìm kiếm.
    • $replace: Chuỗi hoặc mảng thay thế cho từ khóa $q.
    • $str: Chuỗi hoặc mảng cần thay thế.
<?php
    $str_1 = "Stringee Hello World!";
    echo str_replace("World", "Hello", $str_1) . "</br>"; // Result: Stringee Hello Hello!
    echo str_replace(array("World", "Stringee"), array("Hello", "StringeeX"), $str_1); // Result: StringeeX Hello Hello!
  • Hàm cắt chuỗi:
    Cú pháp: substr($str, $start, $len)
    Đầu vào:
    • $str: Chuỗi cần cắt.
    • $start: Vị trí bắt đầu cắt chuỗi.
    • $len: Số ký tự được cắt bắt đầu từ $start.
<?php
    $str_1 = "Hello World!";
    echo substr($str_1, 6, 5) . "</br>"; // Result: World
    echo substr($str_1, 6); // Result: World!
  • Hàm chuyển chuỗi thành mảng:
    Cú pháp: explode($delimiter, $str)
    Đầu vào:
    • $delimiter: Ký tự phân tách
    • $str: Chuỗi cần xử lý.
<?php
    $str_1 = "'Hello' World!";
    echo json_encode(explode(" ", $str_1));	// Result: ["'Hello'","World!"]
  • Hàm chuyển mảng thành chuỗi:
    Cú pháp: implode($delimiter, $arr)
    Đầu vào:
    • $delimiter: Ký tự phân tách
    • $arr: Mảng cần xử lý.
<?php
    echo implode(" ", array('Hello', 'World!')); // Result: Hello World!
  • Hàm chèn ký tự \ vào trước ký tự ” hoặc ‘ nếu có trong chuỗi:
    Cú pháp: addslashes($str)
    Đầu vào:
    • $str: Chuỗi cần xử lý.
<?php
    $str_1 = "'Hello' World!";
    echo addslashes($str_1); // Result: \'Hello\' World!
  • Hàm loại bỏ các ký tự \ nếu có trong chuỗi:
    Cú pháp: stripslashes($str)
    Đầu vào:
    • $str: Chuỗi cần xử lý.
<?php
    $str_1 = "\'Hello\' World!";
    echo stripslashes($str_1); // Result: 'Hello' World!
  • Hàm chuyển các ký tự trong chuỗi thành chữ thường:
    Cú pháp: strtolower($str)
    Đầu vào:
    • $str: Chuỗi cần xử lý.
<?php
    $str_1 = "Hello World!";
    echo strtolower($str_1); // Result: hello world!
  • Hàm chuyển các ký tự trong chuỗi thành chữ hoa:
    Cú pháp: strtoupper($str)
    Đầu vào:
    • $str: Chuỗi cần xử lý.
<?php
    $str_1 = "Hello World";
    echo strtoupper($str_1); // Result: HELLO WORLD!
  • Hàm chuyển các ký tự đầu tiên trong chuỗi thành chữ hoa:
    Cú pháp: ucwords($str)
    Đầu vào:
    • $str: Chuỗi cần xử lý.
<?php
    $str_1 = "hello world!";
    echo ucwords($str_1); // Result: Hello World!
  • Hàm chuyển ký tự đầu của chuỗi thành chữ hoa:
    Cú pháp: ucfirst($str)
    Đầu vào:
    • $str: Chuỗi cần xử lý.
<?php
    $str_1 = "hello world!";
    echo ucfirst($str_1);	// Result: Hello world!

Tổng kết

Trên đây là một số hàm thông dụng trong quá trình làm việc với chuỗi trong PHP. Việc cần sử dụng chức năng nào còn phụ thuộc vào trường hợp sử dụng. Hy vọng bài viết này sẽ có ích với các nhà lập trình viên đang làm quen với ngôn ngữ này.

Stringee hiện là đơn vị cung cấp bộ giải pháp giao tiếp Communication APIs giúp doanh nghiệp dễ dàng tích hợp các tính năng giao tiếp như gọi thoại/gọi video/chat vào ứng dụng hoặc website sẵn trong thời gian ngắn với chi phí tối ưu nhất. Giải pháp này cũng được hỗ trợ cho nền tảng React Native, chi tiết xin mời quý bạn đọc xem thêm tại đây.