Bài 4: các hàm xử lý kiểu dữ liệu string trong PHP

Bài 4: các hàm xử lý kiểu dữ liệu string trong PHP

Để xử lý kiểu dữ liệu string trong PHP thì có rất nhiều các công việc cần làm như tách chuỗi, đếm số ký tự trong chuỗi, đếm số từ, tìm kiếm…

Như ở bài 3 chúng ta đã biết được cách để in xuất dữ liệu ra ngoài màn hình trình duyệt trong PHP bằng lệnh echo và print rồi.

Hôm nay sonnguyenaz.com sẽ cùng các bạn tìm hiểu về các hàm xử lý chuỗi và xuất nó ra theo các ví dụ cụ thể nhé.

Hàm trim()

Hàm trim trong php dùng để triệt tiêu các khoảng trống đầu và cuối của chuỗi ký tự, nó cũng tương tự như hàm trim trong excel.

Ví dụ: ta có một danh sách họ tên nhưng ở đầu và cuối đều bị chứa khoảng trống, vậy thì ta xử lý như thế nào?

<?php
$name='   Nguyễn Văn A      ';
echo trim($name);
?>

Kết quả:

ham-trim-trong-php-cat-khong-trong

Với 1 danh sách dài bị như vậy thì ta xử lý vô cùng đơn giản:

<?php
$list_name=array('  Nguyễn Văn A  ','   Nguyễn Văn B   ','   Nguyễn Văn C   ','   Nguyễn Văn D   ','   Nguyễn Văn E   ');
foreach($list_name as  $key => $value){
	echo trim($value).'<br>';
}
?>

Kết quả thu được:

ham-trim-trong-php-cat-khoang-trong-dau-cuoi

Hàm ltrim()

Tương tự như hàm trim() thì ltrim() trong PHP dùng để loại bỏ khoảng trống phía bên trái, còn bên phải không ảnh hưởng gì.

<?php
$name='   Nguyễn Văn A      ';
echo ltrim($name);
//Kết quả là 'Nguyễn Văn A      '
?>

Hàm rtrim()

Hàm rtrim() dùng để loại bỏ khoảng trống phía bên phải, còn bên trái giữ nguyên, nó ngược lại với hàm ltrim().

<?php
$name='   Nguyễn Văn A      ';
echo rtrim($name);
//Kết quả là '   Nguyễn Văn A'
?>

Hàm strtolower()

Hàm strtolower() có chức năng chuyển tất cả các ký tự của chuỗi sang chữ thường:

<?php
$name='Nguyễn Văn A';
echo strtolower($name);
//Kết quả là 'nguyen van a'
?>

Hàm strtoupper()

Hàm strtoupper() ngược lại với hàm strtolower() là nó lại chuyển tất cả ký tự của chuỗi sang chữ hoa

<?php
$name='Nguyễn Văn A';
echo strtoupper($name);
//Kết quả là 'NGUYEN VAN A'
?>

Hàm ucfirst()

Hàm ucfirst() có nhiệm vụ chuyển ký tự đầu của chuỗi sang chữ hoa

<?php
$msg='hôm nay tôi bận đi làm';
echo ucfirst($msg);
//Kết quả là 'Hôm nay tôi bận đi làm'
?>

Hàm ucwords()

Hàm ucwords() chuyển tất cả các ký tự đầu tiên trong từ của chuỗi string trong php sang chữ hoa

<?php
$msg='hôm nay tôi bận đi làm';
echo ucwords($msg);
//Kết quả là 'Hôm Nay Tôi Bận Đi Làm'
?>

Hàm addcslashes()

Cú pháp hàm như sau addcslashes($str, $char_list), trong đó $char_list sẽ liệt kê các ký tự mà bạn muốn thêm dấu \ vào

<?php
$msg='sonnguyenaz.com';
echo addcslashes($msg,'a...z');
//Kết quả là '\s\o\n\n\g\u\y\e\n\a\z\.\c\o\m'
?>

Hàm stripslashes()

Hàm stripslashes() loại bỏ dấu \ trong chuỗi

<?php
echo stripslashes ('\hô\m \n\a\y \tô\i \bậ\n đ\i \là\m');
//Kết quả là 'hôm nay tôi bận đi làm'
?>

Hàm explode()

Hàm exploder() trong PHP dùng để tách chuỗi thông qua ký tự

Ví dụ ta có chuỗi: “songnuyenaz.com là một blog chia sẻ thủ thuật IT, SEO, Lập trình”

Bây giờ ta sẽ tách chuỗi trên theo dấu “,” nhé:

<?php
$msg='songnuyenaz.com là một blog chia sẻ thủ thuật IT, SEO, Lập trình';
$tach=explode(',',$msg);
echo $tach[0].'<br>';
echo $tach[1].'<br>';
echo $tach[2].'<br>';
?>

Kết quả sẽ trả về một mảng array chứa các ký tự đã cắt:

ham-explode-trong-php-cat-chuoi-theo-ky-tu

Hàm implode()

Ngược lại với hàm explode() thì hàm implode() sẽ nối các phần tử của mảng lại với nhau thông qua một ký tự:

<?php
$msg=array('songnuyenaz.com là một blog chia sẻ thủ thuật IT', 'SEO', 'Lập trình');
$gop=implode(',',$msg);
echo $gop;
//Kết quả thu được là: 'songnuyenaz.com là một blog chia sẻ thủ thuật IT,SEO,Lập trình'
?>

Hàm strlen()

Hàm strlen() được dùng để đếm số ký tự trong chuỗi

<?php
$msg='songnuyenaz.com';
$dem=strlen($msg);
echo $dem;

//Kết quả: 15 ký tự
?>

Hàm str_word_count()

Hàm str_word_count() dùng để đếm số từ trong chuỗi string

Cú pháp sử dụng: str_word_count(string $string, int $format = 0, string $characters = null): array|int

Trong đó $format được phân loại như sau:

  • $format = 0 nếu muốn lấy số từ trong word trong chuỗi string.
  • $format = 1 trả về array chứa số từ .
  • $format = 2 trả về array chứa số từ và key là vị trí cả từ trong chuỗi string.

$characters là quy định do bạn đặt ra nếu nó cũng là một từ.

<?php
$msg='hôm nay là thứ hai';
$dem=str_word_count($msg,1,'ôàứ');
print_r($dem);
//Kết quả trả về array: Array ( [0] => hôm [1] => nay [2] => là [3] => thứ [4] => hai )
?>

Thử $format=2 xem nhé, bạn sẽ thấy key của array chính là vị trí của từ đó trong chuỗi string:

<?php
$msg='hôm nay là thứ hai';
$dem=str_word_count($msg,2,'ôàứ');
print_r($dem);
//Kết quả trả về array: Array ( [0] => hôm [5] => nay [9] => là [13] => thứ [19] => hai )
?>

Hàm strrev()

Hàm strrev() hàm này dùng để đảo ngược chuỗi trong lập trình PHP:

<?php
$msg='sonnguyenaz.com';
$daochu=strrev($msg);
echo($daochu);
//Kết quả trả về: 'moc.zaneyugnnos'
?>

Hàm strpos()

Hàm strpos() sử dụng để tìm một chuỗi nhỏ trong chuỗi string kết quả trả về là vị trí đầu tiên tìm thấy chuỗi.

Nếu tìm không có thì hàm này sẽ trả về kết quả FALSE:

<?php
$msg='hom nay la thu hai';
$timchuoi=strpos($msg,'thu');
echo($timchuoi);
//Kết quả trả về: 11
$timchuoi1=strpos($msg,'dem');
var_dump($timchuoi1);
//Kết quả trả về: bool(false)
?>

Hàm str_replace()

Hàm str_replace() dùng để tìm kiếm và thay thế ký tự trong chuỗi hoặc trong mảng

<?php
$msg='hom nay la thu hai';
$thaythe=str_replace('hai','ba',$msg);
echo($thaythe);
//Kết quả: 'hom nay la thu ba'
?>

Hàm substr()

Hàm substr() hàm cắt ra các ký tự theo các vị trí cho trước:

Cú pháp: substr(string $string, int $offset, int $length = null): string

echo substr('abcdef', 1); //bcdef
echo substr('abcdef', 1, 3); //bcd
echo substr('abcdef', 0, 4);//abcd
echo substr('abcdef', 0, 8);//abcdef
echo substr('abcdef', -1, 1);//f

Lời kết

Trên đây là một số hàm xử lý chuỗi string trong PHP mà thường xuyên phải sử dụng trong lập trình. Các bạn có thể kết hợp các hàm trên để cho ra được kết quả như mong muốn.

Nếu còn hàm nào khác bạn vui lòng bình luận xuống bên dưới giúp mình để bổ sung vào nhé

Cảm ơn các bạn đã theo dõi bài viết này!

Rate this post

sonnguyen

Là một nhân viên IT thích chia sẻ những gì mình biết đến tất cả mọi người. Hi vọng được mọi người ủng hộ, nếu có gì sai sót mong các bạn comment xuống dưới để mình khắc phục. Cảm ơn mọi người!

Trả lời

Email 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 *