<?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ó.
echo "Anh ấy nói \"Anh ấy là một lập trình viên giỏi\" ";
echo "<br>";
//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.
$name = 'Hung';
echo "Xin chào các bạn! Tôi tên là: $name ";
echo "<br>";
//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ó.
echo 'What\'s your name?';
echo "<br>";
/**
* 2. Các hàm xử lý chuỗi hay sử dụng
*/
//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.
$str = "Tôi là Tuấn";
print_r(explode(' ', $str));
echo "<br>";
$str2 = 'A_B_C_D';
print_r(explode('_', $str2));
echo "<br>";
//implode($delimiter, $piecesarray). Hàm này ngược với hàm explode, nó chuyển một mảng thành chuỗi và mỗi phần tử cách nhau bởi chuỗi $delimiter
$arrayName = ['Tuan', 'Thanh', 'Huong'];
echo implode(' - @ ', $arrayName);
echo "<br>";
echo implode(' ', $arrayName);
echo "<br>";
//str_replace( $chuoi_tim, $chuoi_thay_the, $chuoi_nguon ). Hàm này tìm kiếm và thay thế chuỗi. (Thay thế tất cả các chuỗi tìm được).
echo str_replace('Buffon', 'Huyền thoại Buffon', 'Buffon vĩ đại như thế nào sau 17 Buffon năm khoác áo Juventus');
echo "<br>";
//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(' Tuan ');
echo "<br>";
//ltrim($string, $ky_tu). Tương tự như trim nhưng chỉ xóa bên trái
echo ltrim(' Tuan');
echo "<br>";
//rtrim($string, $ky_tu) .Tương tự như trim nhưng chỉ xóa bên phải
echo rtrim('Tuan ');
echo "<br>";
//nl2br($string). Chuyển các ký tự xuống dòng “\n” thành thẻ
$arrayName = ['Tuan', 'Thanh', 'Huong'];
//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
print_r($arrayName);
echo json_encode($arrayName);
//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.
print_r(json_decode('["Tuan","Thanh","Huong"]'));
//Load file json
$provinces = file_get_contents('https://raw.githubusercontent.com/substack/provinces/master/provinces.json');
// Ban chat $provinces luc nay la string, chuoi json. Phai chuyen ve dang mang de truy xuat thong trong mang.
$arrayProvince = json_decode($provinces);
//print_r($arrayProvince);
//vi day la 1 kieu du lieu object
//print_r($arrayProvince[1]);
// Nen phai dung -> để truy cập đến thuộc tính.
//echo $arrayProvince[1]->name;
//strlen($string). Hàm này đếm số ký tự của chuỗi $string - Bao gồm cả dấu + khoảng cách
echo strlen($str);
echo "<br>";
//md5( $str). Hàm này mã hóa chuỗi thành một dãy 32 ký tự (mã hóa md5). Thường để mã hóa cho password. Đây là mã hóa đơn giản nhất cho Password.
//e10adc3949ba59abbe56e057f20f883e
echo md5('123456');
echo "<br>";
echo md5('123456');
//strip_tags( $string, $allow_tags ). Hàm này bỏ các thẻ html trong chuỗi $string được khai báo ở $allow_tags.
$html = '<div><a href="#">Home</a></div>';
echo "<br>";
echo strip_tags($html, '<div>');
echo "<br>";
// 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
//ucwords( $string ). Chuyên từ đầu tiên trong chuỗi $string sang chữ hoa
//str_repeat( $str, int $n ). Hàm này lặp chuỗi $str $n lần.
echo str_repeat($str, 5);
echo "<br>";
//str_word_count($str). Hàm này trả về số từ trong chuỗi $str. Phan biet tieng viet co dau, khong dau.
echo str_word_count($str);
echo "<br>";