Chuỗi là các dãy ký tự, giống như "Hoc PHP co ban va nang cao tai Hoclaptrinh.vn".
$string_1 = "Vi du mot chuoi trong PHP";
$string_2 = "Hoc PHP co ban va nang cao tai Hoclaptrinh";
$string_0 = ""; // ví dụ một chuỗi không có ký tự nào
Khi sử dụng chuỗi với dấu nháy đơn, nó sẽ được đối xử như là các hằng, và in ra chính chuỗi đó. Trong khi sử dụng với dấu nháy kép, nó thay thế các biến với giá trị của chúng cũng như thông dịch các dãy ký tự cụ thể.
<?php
$bien_chuoi = "name";
$bien_chuoi_hang = 'Chuỗi $bien_chuoi sẽ không được in!\\n';
print($bien_chuoi_hang);
print "<br />";
$bien_chuoi_hang = "Chuỗi $bien_chuoi sẽ được in!\\n";
print($bien_chuoi_hang);
?>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Không có giới hạn về độ dài của chuỗi, có thể dài tùy ý nếu bộ nhớ cho phép.
Các chuỗi được giới hạn bởi các dấu nháy kép được PHP xử lý bằng 2 cách sau đây:
Các quy tắc thay thế:
Để nối hai chuỗi với nhau, bạn sử dụng toán tử . (dấu chấm) trong PHP như sau:
<?php
$string1="Hoclaptrinh";
$string2=" Team";
echo $string1 . " " . $string2;
?>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Nếu bạn chú ý vào đoạn code trên, bạn sẽ thấy rằng, chúng ta đã sử dụng toán tử nối chuỗi hai lần. Đây là bởi vì chúng ta đã chèn một chuỗi thứ ba.
Giữa hai biến chuỗi, chúng ta thêm một chuỗi với một ký tự đơn, là một khoảng trống, để phân biệt hai biến.
Hàm strlen() trong PHP được sử dụng để tìm độ dài của một chuỗi.
Ví dụ sau sẽ tìm độ dài của chuỗi "Hoclaptrinh Team!":
<?php
echo "Do dai cua chuoi Hoclaptrinh Team la :",strlen("Hoclaptrinh Team");
?>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Độ dài của một chuỗi thường được sử dụng trong vòng lặp hoặc các hàm khác, khi nó là quan trọng để biết khi nào chuỗi kết thúc (ví dụ: trong một vòng lặp, chúng ta muốn dừng vòng lặp sau ký tự cuối cùng của chuỗi).
Hàm strops() được sử dụng để tìm một chuỗi hoặc ký tự bên trong một chuỗi.
Nếu một so khớp được tìm thấy, hàm này sẽ trả về vị trí của so khớp đầu tiên. Nếu không tìm thấy một so khớp nào, nó sẽ trả về FALSE.
Giờ chúng ta tìm chuỗi "lap" trong chuỗi "Hoclaptrinh Team!":
<?php
echo strpos("Hoclaptrinh Team!","lap");
?>
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Như bạn thấy, vị trí của chuỗi "lap" trong chuỗi trên là 3. Lý do là 3 mà không là 4, bởi vì vị trí đầu tiên của chuỗi là 0, chứ không phải là 1.
Hàm str_word_count($string , $format , $charlist) : đếm tổng số từ có trong chuỗi
<?php
echo (str_word_count("Hello world!",0));//đếm được 2 từ
print_r(str_word_count("Hello world!",1));//trả về một mảng có 2 từ:
?>
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 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
Hàm explode($delimiter, $string): chuyển một chuỗi thành một mảng các phần tử với ký tự tách mảng được xác định trước.
Hàm implode($delimiter, $piecesarray)
Ngược với hàm explode() , hàm implode() lại dùng để chuyển 1 mảng thành 1 chuỗi, chuỗi này được ngăn cách bằng ký tự được xác định trước
<?php
//lấy lại ví dụ trên:
$string = "Đây là khóa học lập trình PHP cơ bản";
// tách chuỗi trên thành 1 mảng:
$array = (explode(' ', $string));
//bây giờ lại gộp mảng trên thành 1 chuỗi ngăn cách bằng ký tự dấu cộng '+'
echo implode("+", $array);
//và đây là chuỗi mà chúng ta vừa gộp: Đây+là+khóa+học+lập+trình+PHP+cơ+bản
?>
Hàm strstr( $string, $needle): Tách một chuỗi bắt đầu từ $needle cho đến hết chuỗi $string
<?php
$website = 'http://hoclaptrinh.vn';
$domain = strstr($website, '.');
echo $domain;
//kết quả sẽ in ra tên miền là: ".vn"
?>
ord ( $string ): Hàm này trả về mã ASCII của ký tự đầu tiên trong chuỗi $string.
<?php
echo ord("PHP là ngôn ngữ rất phổ biến");
//cho về kết quả là 80 (là mã của chữ P hoa)
echo ord("P");
//cũng cho về kết quả là 80 (là mã của chữ P hoa)
echo ord("p");
//cũng cho về kết quả là 112 (là mã của chữ p thường)
?>
str_repeat( $string, $n): Hàm này sẽ lặp chuỗi $string n lần, trong đó $n là số nguyên dương, trong trường hợp bạn ghi $n <0 , sẽ xảy ra lỗi
Ví dụ tôi muốn in chữ xin chào 2 lần, tôi làm như sau:
<?php
echo str_repeat( 'Xin chào', 2 );
//kết quả: "xin chàoxin chào"
?>
str_replace( $chuoi_can_tim, $chuoi_thay_the, $chuoi_ban_dau ): Hàm này sẽ tìm kiếm và thay thế chuỗi giống như Ctrl+h vậy
<?php
$chuoi_can_tim = "...";
$chuoi_thay_the = "ios";
$chuoi_ban_dau = "Devpro đào tạo lập trình viên PHP, android, ....";
echo str_replace( $chuoi_can_tim, $chuoi_thay_the, $chuoi_ban_dau );
?>
Một số hàm mã hóa:
htmlentities($str) :Hàm này sẽ in ra ký tự đặc biệt trong html
<?php
$html = "<h1>h1 là thẻ header</h1>";
//thử in ra màn hình:
echo $html; // kết quả: h1 là thẻ header
//sử dụng hàm sau và sự khác biệt sẽ xảy ra:
echo htmlentities($html);
//kết quả: <h1>h1 là thẻ header</h1>
?>
substr( $string, $start, $length ): Hàm này sẽ cắt chuỗi cũ thành 1 chuỗi mới, trong đó:
<?php
echo substr( 'Devpro.edu.vn', 0, 6);
//kết quả: Devpro
?>
Cần lưu ý: vị trí đầu tiên của chuỗi là vị trí 0
strstr( $string, $ky_tu_bat_dau ): Hàm này sẽ cắt chuỗi cũ thành 1 chuỗi mới từ vị trí bắt đầu đến hết chuỗi, trong đó:
<?php
echo strstr("Hà nội là thủ đô của Việt Nam", "thủ" );
//kết quả: "thủ đô của Việt Nam"
?>
Unpublished comment
Viết câu trả lời