Việc xử lý chuỗi trong lập trình PHP rất quan trọng vì dữ liệu để hiển thị trên trang web đa phần là ở dạng chuỗi. Vì thế việc hiểu và nắm vững kiến thức trong xử lý chuỗi sẽ giúp bạn tối ưu hóa hiệu suất của website và đẩy nhanh tiến độ thiết kế website. Dưới đây là một số hàm và toán tử xử lý chuỗi trong PHP:

Toán tử nối chuỗi: Để nối 2 chuỗi chúng ta sử dụng toán tử (.) 

Ví dụ: echo "abc"." "."def";

Các hàm xử lý chuỗi cơ bản

Hàm strlen(string): được sử dụng để tính chiều dài của chuỗi

Ví dụ:

<?php
echo strlen("Hello world!");
?>
//kết quả in ra:12

Hàm str_word_count(string $string [, int $format = 0 [, string $charlist ]]) : đếm tổng số từ có trong chuỗi

  • string: chỉ định chuỗi để kiểm tra
  • format: chỉ định kiểu giá trị trả về của hàm str_word_count(). Các giá trị này có thể là:
    • 0 - Mặc định - trả về số lượng từ đếm được
    • 1 - Trả về một mảng chứa các từ trong chuỗi
    • 2 - Trả về một mảng với key là vị trí của từ trong chuỗi và value là từ trong chuỗi
  • charlist: chỉ định các ký tự đặc biệt sẽ được xem như một từ trong chuỗi 

Ví dụ:

<?php
print_r(str_word_count("Hello world!",1));
?>
//kết quả in ra: Array ( [0] => Hello [1] => world )

Hàm strtoupper(string): đổi chữ thường thành hoa.
Hàm strtolower(string): đổi chữ hoa thành thường.
Hàm ucfirst(string): đổi chữ in ký tự đầu tiên của chuỗi.
Hàm ucwords(string): đổi chữ in ký tự đầu tiên của mỗi từ trong chuỗi.
Hàm trim($string, $character); Xóa ký tự $character nằm ở đầu và cuối chuỗi $str, nếu ta không nhập $character thì mặc định nó hiểu là xóa khoảng trắng.
Hàm ltrim($string, $character): Tương tự như trim nhưng chỉ xóa bên trái
Hàm rtrim($string, $character): Tương tự như trim nhưng chỉ xóa bên phải

Hàm tìm kiếm và thay thế chuỗi

Hàm substr( string $string , int $start [, int $length ] ): cắt ra một phần của chuỗi từ vị trí start một đoạn được chỉ định bằng tham số length

  • string: chuỗi nhập vào đẻ cắt ra chuỗi con
  • start: nếu start là một số dương, chuỗi được trả về sẽ bắt đầu từ vị trí start (ký tự đầu tiên của chuỗi được tính là 0). Nếu start là một số âm chuỗi con trả về sẽ được cắt từ vị trí start tính từ cuối chuỗi.
  • length: độ dài của chuỗi trả về. Mặc định length được tính đến cuối chuỗi
    • length>0: độ dài của chuỗi trả về được tính từ đầu chuỗi
    • length<0: độ dài của chuỗi trả về được tính từ cuối chuỗi

 Ví dụ:

<?php
// Positive numbers:
echo substr("Hello world",10)."<br>";
echo substr("Hello world",1)."<br>";
echo substr("Hello world",3)."<br>";
echo substr("Hello world",7)."<br>";
echo "<br>";

// Negative numbers:
echo substr("Hello world",-1)."<br>";
echo substr("Hello world",-10)."<br>";
echo substr("Hello world",-8)."<br>";
echo substr("Hello world",-4)."<br>";
?>

 Kết quả trả về:

d
ello world
lo world
orld

d
ello world
lo world
orld

Hàm explode($delimiter, $string): chuyển một chuỗi string thành một mảng các phần tử với ký tự tách mảng là delimiter.

Ví dụ:

$str = 'programming and digital marketing training';
  
// sử dụng dấu cách làm kí tự tách các phần từ từ chuỗi đưa vào mảng<br />
var_dump(explode(' ', $str));
  
/*Kết quả
array
    0 => 'programming',
    1 => 'and',
    2 => 'digital' ,
    3 => 'marketing',
    4 => 'training'

Hàm implode($delimiter, $piecesarray): ngược với hàm explode, nó chuyển một mảng $piecesarray thành chuỗi và mỗi phần tử trong mảng được nối với nhau bởi chuỗi $delimiter

Ví dụ:

<?php
$array = array('province', 'district', 'town');
$comma_separated = implode(",", $array);

echo $comma_separated;
//kết quả in ra:
//province,district,town
?>

Hàm strstr( $string, $needle): Tách một chuỗi bắt đầu từ $needle cho đến hết chuỗi.

Ví dụ:

<?php
$website  = 'hoclaptrinhweb.org';
$domain = strstr($website, '.');
echo $domain; // prints org
?>

Hàm strpos($string, $needle): Tìm vị trí của chuỗi $needle trong chuỗi $string, kết quả trả về vị trí đầu tiên của $needle nếu tìm thấy và false nếu không tìm thấy.

Ví dụ:

$mystring = 'abc';
$findme   = 'b';
$pos = strpos($mystring, $findme);
echo $pos;
//kết quả: 1

 

Follow eCode trên Google+