Skip to content

Instantly share code, notes, and snippets.

@nguyentien98
Last active July 17, 2018 07:59
Show Gist options
  • Save nguyentien98/840e31c1a09a19b727349722dab6c3c7 to your computer and use it in GitHub Desktop.
Save nguyentien98/840e31c1a09a19b727349722dab6c3c7 to your computer and use it in GitHub Desktop.
Chuỗi trong PHP

1. Quy tắc trong chuỗi

Nếu chuỗi được đặt trong dấu nháy kép "" thì các ký tự nháy kép " bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó.

Ví dụ:

echo "Nam nói\"Cậu ấy đang ăn tối\" "``;

Nếu chuối được đặt trong dấu nháy kép thì trong chuỗi ta có thể truyền biến vào mà không cần dùng phép nối chuỗi.

Ví dụ:

$str = "đang ăn tối"``;

echo "Nam nói\"Cậu ấy $str\" "``;

Nếu chuỗi được đặt trong dấu nháy đơn '' thì các ký tự nháy đơn ' bên trong chuỗi phải thêm dấu gạch chéo đằng trước nó.

Ví dụ:

echo 'Freetuts'``s a website learning online';

2. Các hàm xử lý chuỗi hay sử dụng

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.

// a..z là gồm các từ từ a => z

echo (``addcslashes``(``'freetuts.net FREETUTS.NET'``, 'a..z'``));

// kết quả: \f\r\e\e\t\u\t\s.\n\e\t

echo '<br />'``;

// a..zA..Z là gồm các từ từ a => z và A => Z

echo (``addcslashes``(``'freetuts.net FREETUTS.NET'``, 'a..zA..Z'``));

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.

echo addslashes (``"Freetuts's a website learning online"``);

// Kết quả là Freetuts'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.

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).

echo crc32 (``'freetuts.net'``);

// kết quả: -838644060

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.

<strong>``// Chuỗi cần chuyển<br />

$str = 'freetuts.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 => 'freetuts.net',

1 => 'is',

2 => 'a' ,

3 => 'website',

4 => 'free',

5 => 'for' ,

6 => 'you' */``</strong>

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

echo implode(``' '``, array``(

'freetuts'``,

'xin'``,

'chào'``,

'các'``,

'bạn'

));

// kêt quả là freetuts 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.

echo ord (``'Ab'``);

// kết quả: 65

strlen($string)

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

echo strlen``(``'freetuts.net'``);

// kết quả: 12

str_word_count($str)

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

echo str_word_count``(``'freetuts xin chào các bạn'``);

// kết quả là 5

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.

$str = 'Freetuts Xin Chào Các Bạn'``;

$str = str_replace``( 'Freetuts'``, 'Freetuts.net'``, $str );

echo $str``; // kết quả là Freetuts.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

$str = 'Freetuts Xin Chào Các Bạn'``;

$str = str_replace``( array``(``'Freetuts'``, 'Xin Chào'``), array``(``'Freetuts.net'``, 'Hello'``), $str );

echo $str``; // kết quả là Freetuts.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).

echo md5(``'freetuts.net'``);

// Kết quả: 83617175fd8cf470d4af657a28def98e

sha1($string)

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

echo sha1(``'freetuts.net'``);

// kết quả 8d9fa09de2e997d8fbb544326b84d1f894cd3ca3

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).

echo htmlentities(``'<b>freetuts.net</b>'``);

// Kết quả <b>freetuts.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.

$str = htmlentities(``'<b>freetuts.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>freetuts.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.

echo substr``( 'freetuts.net'``,  0, 8);

// Kết quả freetuts

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.

echo strstr``(``'freetuts.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.

echo strpos``(``'freetuts.net chào các bạn'``, 'chào'``);

// kết quả 13

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.

echo trim(``' freetuts.net '``);

// kết quả: 'freetuts.net'

echo trim(``'freetuts.neth'``);

// kết quả: 'freetuts.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

S

Session và cookie dùng để lưu trữ dữ liệu tạm thời để hệ thống có thể nhận diện và đưa ra các hành động khác nhau.

1, Session trong PHP.

$(document).ready(function () { (adsbygoogle = window.adsbygoogle || []).push({}); })

-Biến Session trong PHP dùng để lưu trữ thông tin như thông tin người dùng, thông tin cấu hình,... Mà nó chỉ có thể tồn tại đến khi chúng ta đóng trình duyệt. Và mỗi client sẽ có một SessionID khác nhau nên hoàn toàn không có thể xảy ra việc xung đột session. Ứng dụng thực tế trong việc sử dụng session thường làm chức năng đăng nhập, giỏ hàng,...

Khởi tạo session

-Đầu tiên các bạn muốn khởi tạo được session trong PHP thì bắt buộc các bạn phải khai báo session_start(); ở đầu mỗi file. Hàm này có tác dụng khai báo cho server biết phiên làm việc có sử dụng session.

VD:

<?php 
session_start();
// code
?>

Lưu trữ session

-Cũng giống như GET và POST, session cũng được lưu trong một biến toàn cục $_SESSION, Vì vậy khi muốn thêm sửa xóa session chúng ta cũng phải thao tác trên biến này. Và các bạn phải luôn luôn nhớ là phải kiểm tra chặt dữ liệu trước khi thao tác.

Thêm,Sửa

-Để thêm hoặc session các bạn sử dụng cú pháp:

$_SESSION['name'] = 'value';

-Trong đó:

  • name là tên của session.
  • value là giá trị của session, giá trị này có thể là một chuỗi,mảng,số,...

VD: Thêm session.

<?php
$_SESSION['user'] = 'admin';
// hoặc đối với mảng
$array = [5, 8, 6, 4, 7, 5];
$_SESSION['user'] = $array;

VD: sửa session.

<?php
// khởi tạo session user có giá trị là VuThanhTai
$_SESSION['user'] = 'VuThanhTai';
// sửa giá trị của session user thành Toidicode-er
$_SESSION['user'] = 'Toidicode-er';

Lấy giá trị

-Để lấy giá trị của session thì chúng ta chỉ cần gọi theo cú pháp:

$_SESSION['name'];

Trong đó: name là tên của session các bạn muốn lấy.( Chú ý kiểm tra chặt chẽ xem session đó có tồn tại hay không trước khi lấy)

VD:

if (isset($_SESSION['user'])) {
    echo $_SESSION['user'];
}

Xóa session

-Để xóa session thì các bạn chỉ cần sử dụng hàm unset() theo cú pháp sau:

unset($bien);

Trong đó: $bien là thư mà các bạn muốn xóa.

VD: xóa session user ở VD trên:

unset($_SESSION['user']);

-Và để xóa tất cả session thì chúng ta sử dụng cú pháp sau:

session_destroy();
//hoac
unset($_SESSION);

2, Cookie trong PHP.

$(document).ready(function () { (adsbygoogle = window.adsbygoogle || []).push({}); })

-Cookie thường được dùng để lưu những tùy chọn riêng của từng user,... Cookie được lưu trữ ở máy của client lên khi đóng trình duyệt thì cookie vẫn tồn tại và tồn tại bao lâu là do bạn set.

Khởi tạo cookie

-Để khởi tạo cookie thì bạn sử dụng hàm setcookie() theo cú pháp sau:

setcookie($name, $value, $expire, $path, $domain);

Trong đó:

  • $name là tên của cookie các bạn muốn tạo.
  • $value là giá trị của cookie đó.
  • $expire là thời gian sống của cookie.
  • $path là đường dẫn lưu trữ cookie.
  • $domain là tên của domain.

VD: Mình sẽ khởi tạo một cookie có tên là user, giá trị là VuThanhTai và thời gian sống trong 10 phút.

setcookie('user', 'VuThanhTai', time() + 600);

Lấy giá trị của cookie

-Cách lấy giá trị của cookie thì cũng không khác gì session các bạn chỉ cần sử dụng cú pháp:

$_COOKIE[$name];

Trong đó: $name là tên của cookie các bạn muốn lấy.

VD: Mình sẽ lấy giá trị của cookie user ở trên.

$_COOKIE['user'];

Xóa Cookie

-Để xóa cookie thì các bạn chỉ cần xét cho thời gia sống của nó nhỏ hơn thời điểm hiện tại.

VD: mình sẽ xóa cookie user ở trên.

setcookie('user', 'VuThanhTai', time() - 100);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment