Ở bài học này, hãy cùng mình học cách lưu trữ và thao tác với chuỗi (string) trong PHP.
1. Chuỗi trong PHP là gì?
Chuỗi là một chuỗi các chữ cái (Text), số (number), ký tự đặc biệt (special characters) và giá trị số học hoặc kết hợp tất cả.
Cách đơn giản nhất để tạo một chuỗi là đặt chuỗi ký tự trong các dấu ngoặc đơn (‘ ‘), như sau:
$my_string = 'Hello World';
Bạn cũng có thể sử dụng dấu ngoặc kép (” “). Tuy nhiên, dấu ngoặc kép và dấu ngoặc kép hoạt động theo nhiều cách khác nhau.
Chuỗi được đặt trong dấu ngoặc đơn được xử lý gần như theo nghĩa đen, trong khi các chuỗi được phân cách bằng dấu ngoặc kép thay thế các biến bằng biểu diễn chuỗi của chúng các giá trị cũng như đặc biệt diễn giải các chuỗi thoát nhất định.
Một số ký tự đặc biệt sử dụng để sử dụng trong dấu nháy đơn, nháy đôi:
- \n được sử dụng để xuống dòng mới
- \r được sử dụng để thay thế return
- \t được sử dụng để thay thế tab
- \$ được thay thế bằng chính ký hiệu đô la $
- \” được sử dụng để thay thế ký tự nháy kép “
- \’ được sử dụng để thay thế ký tự nháy đơn ‘
- \\ được sử dụng để thay thế ký tự \
Dưới đây là một ví dụ để làm rõ sự khác biệt giữa các chuỗi trích dẫn đơn và kép:
<?php
$my_str = 'World';
echo "Hello, $my_str!<br>"; // Hiển thị: Hello World!
echo 'Hello, $my_str!<br>'; // Hiển thị: Hello, $my_str!
echo '<pre>Hello\tWorld!</pre>'; // Hiển thị: Hello\tWorld!
echo "<pre>Hello\tWorld!</pre>"; // Hiển thị: Hello World!
echo 'I\'ll be back'; // Hiển thị: I'll be back
?>
Các bạn có thể thấy sự khác biệt trong dấu nháy đơn là nó sẽ gần như hiển thị ký tự theo nghĩa đen. Còn nháy đôi thì sẽ biên dịch trong một số trường hợp.
2. Thao tác với chuỗi trong PHP
PHP cung cấp nhiều built-in functions (hàm dựng sẵn) để thao tác các chuỗi cũng như tính toán độ dài của chuỗi, tìm chuỗi con hoặc ký tự, thay thế một phần của chuỗi bằng các ký tự khác nhau, tách chuỗi và nhiều chuỗi khác.
Dưới đây là ví dụ về một số chức năng này:
2.1. Tính độ dài của chuỗi
Hàm strlen() được sử dụng để tính số lượng ký tự bên trong một chuỗi. Nó csẽ tính cả dấu cách:
<?php
$my_str = 'Chào mừng đến với PHPDev';
// Outputs: 24
echo strlen($my_str);
?>
2.2. Đếm số lượng từ trong một chuỗi với hàm str_word_count
Chúng ta sử dụng hàm str_word_count() đếm số lượng từ trong chuỗi:
<?php
$my_str = 'Đây là một chuỗi. Hãy đếm số từ thử xem';
// Outputs: 10
echo str_word_count($my_str);
?>
2.3. Thay thế văn bản trong chuỗi trong PHP
Hàm str_replace() thay thế tất cả các ký tự mà bạn muốn thay thế trong chuỗi:
<?php
$my_str = 'Đây là một chuỗi. Hãy thay thế vài từ trong chuỗi này xem.';
// Hiển thị chuỗi sau khi đã thay thế xong
echo str_replace("chuỗi", "câu", $my_str);
?>
Kết quả nhận được sẽ là:
Đây là một câu. Hãy thay thế vài từ trong câu này xem.
Bạn có thể truyền đối số cho hàm str_numplace() để biết số lần thay thế chuỗi đã được thực hiện, như thế này:
<?php
$my_str = 'Đây là một chuỗi. Hãy thay thế vài từ trong chuỗi này xem.';
// Hiển thị chuỗi sau khi đã thay thế xong
echo str_replace("chuỗi", "câu", $my_str, $count);
// Hiển thị số lần đã thay thế
echo "Đã thay thế từ \'chuỗi\' bằng \'câu\' $count lần.";
?>
Kết quả nhận được sẽ là:
Đây là một câu. Hãy thay thế vài từ trong câu này xem.
Đã thay thế từ 'chuỗi' bằng 'câu' 2 lần.
2.4. Đảo ngược chuỗi (Reversing String) trong PHP
Hàm strrev() sẽ đảo ngược một chuỗi:
<?php
$my_str = 'Dao Nguoc Chuoi.';
// Display reversed string
echo strrev($my_str);
?>
Kết quả nhận được sẽ là:
.iouhC cougN oaD
3. Tổng kết
Như vậy, qua bài này bạn đã biết về tính độ dài của chuỗi, đếm số lượng từ, thay thế trong chuỗi và đảo ngược chuỗi trong PHP.
Còn rất nhiều hàm đã được dựng sẵn để thao tác với chuỗi. Bạn có thể xem tại link bên dưới đây:
http://php.net/manual/en/ref.strings.php