Thông tin liên hệ

Bài 3: Chuỗi trong php

Chủ nhật - 07/04/2019 19:51

1. Chuỗi là gì?

Chuỗi là tập hợp một nhóm các ký tự , số, khoảng trắng, dấu ngắt được đặt trong cặp dấu nháy đơn ' ' hoặc cặp dấu nháy kép " ".
Nếu bạn đã từng học qua một ngôn ngữ lập trình nào đó, thì chắc hẳn bạn cũng đã từng làm việc với chuỗi. Và chuỗi trong PHP cũng tương tự như thế.
Ví dụ:
<?php
$chuoi_1 = "Webpow chia sẻ kiến thức lập trình";
echo $chuoi_1;
$chuoi_2 = 'Webpow.net';
echo $chuoi_2;
?>
Ở ví dụ trên, tôi khởi tạo biến chuoi_1 để lưu trữ đoạn chuỗi thứ nhất và biến chuoi_2 để lưu trữ đoạn chuỗi thứ hai. Và tôi in hai chuỗi đó ra màn hình thông qua câu lệnh echo.

2. Nếu trong chuỗi có dấu nháy kép " " hoặc dấu nháy đơn ' '.
Ví dụ 1: Chuỗi có chứa nháy kép " "
<?php
$chuoi_1 = "\"webpow.net\" chia sẻ kiến thức lập trình miễn phí";
echo $chuoi_1;
hoặc:
<?php
$chuoi_1 = '"webpow.net" chia sẻ kiến thức lập trình miễn phí';
echo $chuoi_1;

Kết quả : webpow.net chia sẻ kiến thức lập trình miễn phí

Ví dụ 2: Chuỗi có chứa nháy đơn ' '
<?php
$chuoi_1 = "'webpow.net' học lập trình online";
echo $chuoi_1;
hoặc
<?php
$chuoi_1 = '\'webpow.net\' học lập trình online';
echo $chuoi_1;
Kết quả : webpow.net  học lập trình online

3. Các hàm xử lý chuỗi
Sau đây là các hàm chúng ta hay sử dụng để xử lý chuỗi trong PHP.

addcslashes ($str, $char_list)

Hàm này sẽ thêm dấu gạch chéo (\) đằng trước những ký tự trong chuỗi $str mà ta liệt kê ở $char_list.
 

<?php
// a..z là gồm các từ từ a => z
echo (addcslashes('webpow.net WEBPOW.NET', 'a..z'));
// kết quả: \w\e\b\p\o\w.\n\e\t WEBPOW.NET
echo '<br />';
// a..zA..Z là gồm các từ từ a => z và A => Z
echo (addcslashes('webpow.net WEBPOW.NET', 'a..zA..Z'));
// kết quả: \w\e\b\p\o\w.\n\e\t \W\E\B\P\O\W.\N\E\T
?>

addslashes ( $str )

Hàm này sẽ thêm dấu gách chéo trước những ký tự (‘, “, \) trong chuỗi $str.

<?php
echo addslashes ("webpow's a website learning online");
// kết quả webpow\'s a website learning online
?>

stripslashes ($str)

Hàm này ngược với hàm addslashes, nó xóa các ký tự \ trong chuỗi $str.
 

<?php
echo stripslashes("Mot so ham 'xu ly chuoi' trong PHP");
// Kết quả Mot so ham 'xu ly chuoi' trong PHP
?>

crc32 ( $str )

Hàm này sẽ chuyển chuỗi $str thành một dãy số nguyên (có thể âm hoặc dương tùy theo hệ điều hành).

<?php
echo crc32 ('webpow.net');
// kết quả: 1616629793
?>

explode ( $delimiter , $string)

Hàm này sẽ 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.

<?php
// Chuỗi cần chuyển<br />
$str = 'webpow.net is a website free for you';
// Mỗi khoảng trắng sẽ là một phần tử trong mảng<br />
var_dump(explode(' ', $str));
/*Kết quả
array
    0 => 'webpow.net',
    1 => 'is',
    2 => 'a' ,
    3 => 'website',
    4 => 'free',
    5 => 'for' ,
    6 => 'you' */
?>

implode($delimiter, $piecesarray);

Hàm này 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ử cách nhau bởi chuỗi $delimiter

<?php
echo implode(' ', array(
    'webpow',
    'xin',
    'chào',
    'các',
    'bạn'
));
// kêt quả là webpow xin chào các bạn
?>

ord ( $string )

Hàm này trả về mã ASCII của ký tự đầu tiên trong chuỗi $string.

<?php
echo ord ('Ab');
// kết quả: 65
?>

strlen($string)

Hàm này đếm số ký tự của chuỗi $string.

<?php
echo strlen('webpow.net');
// kết quả: 10
?>

str_word_count($str)

Hàm này trả về số từ trong chuỗi $str.

<?php
echo str_word_count('webpow xin chào các bạn');
// kết quả là 8
?>

str_repeat(  $str,  int $n  )

Hàm này lặp chuỗi $str $n lần.

echo str_repeat( 'Hello', 5 );
// Kết quả là HelloHelloHelloHelloHello

str_replace( $chuoi_tim, $chuoi_thay_the, $chuoi_nguon )

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

<?php
$str = 'Webpow Xin Chào Các Bạn';
$str = str_replace( 'Webpow', 'Webpow.net', $str );
echo $str; // kết quả là Webpow.net Xin Chào Các Bạn
?>
Để thay thế nhiều chuỗi ta có thể dùng mảng để truyền vào
<?php
$str = 'Webpow Xin Chào Các Bạn';
$str = str_replace( array('Webpow', 'Xin Chào'), array('Webpow.net', 'Hello'), $str );
echo $str; // Webpow.net Hello Các Bạn
?>


md5( $str)

Hàm này mã hóa chuỗi thành một dãy 32 ký tự (mã hóa md5).

<?php
echo md5('webpow.net');
// Kết quả: d2a3e60c0c870cca0436d79cbde30cb1
?>

sha1($string)

Hàm này mã hóa chuỗi thành một dãy 40 ký tự (mã hóa sha1)

<?php
echo sha1('webpow.net');
// kết quả 8bbfaf9e929ace3835e6f082003675c5913c50d7
?>

htmlentities($str)

Hàm này chuyển các thể html trong chuỗi $str sang  dạng thực thể của chúng (html sẽ ko còn tác dụng nên bạn có thể echo ra bên ngoài).

<?php
echo htmlentities('<b>webpow.net</b>');
// Kết quả <b>webpow.net</b>
?>

html_entity_decode($string)

Ngược lại với htmlentities, hàm này chuyển ngược các ký tự dạng thực thể HTML sang dạng ký tự của chúng.

<?php
$str = htmlentities('<b>webpow.net</b>');
echo 'Entity: ' . $str . '<br/>';
echo 'Decode: ' . html_entity_decode($str);
?>

htmlspecialchars( $string)

Tương tự như htmlentities.

htmlspecialchars_decode($string)

Tương tự như html_entity_decode.
 

strip_tags( $string, $allow_tags )

Hàm này bỏ các thẻ html trong chuỗi $string được khai báo ở $allow_tags.

echo strip_tags('<b>webpow.net</b>', 'b');

substr( $string,  $start, $length )

Hàm này lấy một chuỗi con nằm trong chuỗi $str bắt đầu từ ký tự thứ $start và chiều dài $length.

<?php
echo substr( 'webpow.net',  0, 6);
// Kết quả webpow
?>

strstr( $string, $ky_tu_cho_truoc )

Tách một chuỗi bắt đầu từ  $ky_tu_cho_truoc cho đến hết chuỗi.

<?php
echo strstr('webpow.net Xin Chào', 'Xin');
// Kết quả: Xin Chào
?>

strpos($str, $chuoi_tim )

Tìm vị trí của chuỗi $chuoi_tim trong chuỗi $str, kết quả trả về false nếu không tìm thấy.

<?php
echo strpos('webpow.net chào các bạn', 'chào');
// kết quả 11
?>

strtolower($str);

Chuyển tất cả các ký tự chuỗi $str sang chữ thường

strtoupper($string );

Chuyển tất cả các ký tự chuỗi $str sang chữ hoa

ucfirst( $string )

Chuyển ký tự đầu tiên chuỗi $string sang chữ hoa

ucfirst( $string )

Chuyển ký tự đầu tiên trong chuỗi $string sang chữ thường

ucwords( $string )

Chuyên từ đầu tiên trong chuỗi $string sang chữ hoa

trim($string, $ky_tu);

Xóa ký tự $ky_tu nằm ở đầu và cuối chuỗi $str, nếu ta không nhập $ky_tu thì mặc định nó hiểu là xóa khoảng trắng.

<?php
echo trim(' webpow.net ');
// kết quả: 'webpow.net'
echo trim('webpow.net');
// kết quả: 'webpow.net'
?>

ltrim($string, $ky_tu);

Tương tự như trim nhưng chỉ xóa bên trái

rtrim($string, $ky_tu)

Tương tự như trim nhưng chỉ xóa bên phải

nl2br($string)

Chuyển các ký tự xuống dòng “\n” thành thẻ

json_decode($json, $is_array)

Dùng để chuyển chuỗi dạng JSON sang các đối tượng mảng hoặc object. Nếu $is_array có giá trị false thì hàm sẽ chuyển một chuỗi $json thành một Class (object),  ngược lại nếu $is_array có giá trị true thì sẽ chuyển chuỗi $json thành một mảng.

json_encode($array_or_object)

Chuyển một mảng hoặc mội đối tượng (classs) sang chuỗi dạng JSON

4. Kết luận

Tôi không thể liệt kê kết các hàm xử lý chuỗi trong php được vì bản thân tôi cũng không biết hết, nên tôi chỉ liệt kê các hàm hay sử dụng thôi, nếu các bạn muốn tìm hiểu thêm các hàm xử lý chuỗi có thể vào đây để tham khảo. Bài tiếp theo ta sẽ tìm hiểu các hàm xử lý mảng trong php

Tổng số điểm của bài viết là: 0 trong 0 đánh giá

Click để đánh giá bài viết

  Ý kiến bạn đọc

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây