Hướng dẫn dùng string expose trong PHP
Chuỗi ký tự (string) là loại cấu trúc dữ liệu quen thuộc có mặt trong gần như mọi ngôn ngữ lập trình. Kiểu chuỗi ký tự dùng để chứa thông tin về tên người, mật khẩu, địa chỉ, số thẻ ngân hàng, v.v. Show
Nội dung chính
Nội dung chính
Trên thực tế ngay từ những bài học đầu tiên của bất kỳ ngôn ngữ lập trình nào bạn cũng đều tiếp xúc với chuỗi ký tự qua chương trình Hello world! Có thể nói đây là kiểu dữ liệu cơ bản được sử dụng rộng rãi nhất trong PHP. PHP cho phép viết giá trị của chuỗi ký tự theo ba cách khác nhau:
Cách viết giá trị của chuỗi được gọi là string literal. Viết chuỗi ký tự (string literal) trong PHP với dấu nháy đơnCặp dấu nháy đơn có thể dùng để phân định những gì nằm trong chuỗi. Tất cả những gì nằm giữa cặp dấu này là nội dung của chuỗi. Ví dụ: $name = 'Donald Trump'; // sử dụng \' để biểu diễn cho chính ký tự ' trong chuỗi $greeting = 'Hello, my name\'s Donald.'; // có thể sử dụng dấu nháy kép trong chuỗi $sentence = '"Hello, Donald" - he said'; // sử dụng \\ để biểu diễn cho \ $path = 'C:\\PHP\\bin\; $php = 'C:\php'; // có thể viết chuỗi ký tự trải dài trên nhiều dòng $people = 'Donald Trump Barack Obama George Bush Bill Clinton'; Khi sử dụng cặp nháy đơn lưu ý: (1) Sử dụng Do dấu nháy đơn đã được dùng để phân định ranh giới của chuỗi, bên trong chuỗi bạn không được trực tiếp sử dụng ký tự nháy đơn. Nếu cần sử dụng dấu nháy đơn, bạn phải viết (2) Sử dụng Tình huống 1 cho thấy Các cụm ký tự Với chuỗi trong dấu nháy kép sẽ có thêm một số chuỗi escape sequence khác nữa. (3) Sử dụng dấu nháy kép trong chuỗi: Có thể bạn quan tâmBên trong chuỗi có thể sử dụng dấu nháy kép. Dấu nháy kép trong chuỗi này chỉ là một ký tự bình thường. Bạn đã gặp cách sử dụng này trong chuỗi $sentence. (4) Viết chuỗi trên nhiều dòng: Chuỗi ký tự biểu diễn bằng cặp nháy đơn có thể trải dài trên nhiều dòng như giá trị của biến $people ở trên. Đây là điều rất khác biệt với các ngôn ngữ khác. Nhờ đặc thù này có thể dễ dàng tạo ra các khối văn bản HTML động. Viết chuỗi ký tự trong PHP với dấu nháy képCặp dấu nháy kép được sử dụng tương tự như cặp dấu nháy đơn để phân định ranh giới của chuỗi ký tự. Nhìn chung cách sử dụng cơ bản của cặp nháy kép không khác biệt với cặp nháy đơn. Hãy xem ví dụ sau đây:
Như ở trên đã nói, chuỗi trong cặp nháy đơn chỉ hỗ trợ hai escape sequence
Một đặc điểm khá lạ của escape sequence trong PHP nằm ở chỗ, nếu một cụm ký tự bắt đầu bằng \ nhưng không phải là một escape sequence tiêu chuẩn, PHP sẽ tự động bỏ qua sequence này chứ không báo lỗi. Lấy ví dụ, trong lệnh Nếu bạn đặt một tên biến trong chuỗi tạo từ cặp nháy kép, PHP sẽ tự động chèn giá trị của biến vào chuỗi. Cơ chế này trong PHP có tên gọi là variable interpolation (nội suy biến). $name = "Donald Trump"; $age = 70; $greeting = "Hello, $name. You are $age years old. Welcome to heaven!"; echo $greeting; Kết quả chạy script là Hello, Donald Trump. You are 70 years old. Welcome to heaven! Đây là cách thức rất tiện lợi để tạo ra chuỗi ký tự động từ biến và biểu thức. Nếu không có nhu cầu sử dụng escape sequence hoặc variable interpolation, bạn nên sử dụng chuỗi trong cặp nháy đơn. Viết chuỗi ký tự trong PHP theo kiểu HeredocHeredoc là lối viết chuỗi ký tự trên nhiều dòng đặc thù của PHP. Hãy xem ví dụ sau:
Có thể để ý PHP có hai phép toán so sánh khác != và <>. Hai phép toán này không có gì khác biệt nhau. Phép so sánh spaceship không trả lại kết quả logic true/false mà trả về kết quả số nguyên: -1 nếu vế trái nhỏ hơn; +1 nếu vế trái lớn hơn; 0 nếu hai vế bằng nhau. Các phép so sánh bằng và khác trong PHP có thể áp dụng với hai vế thuộc hai kiểu khác nhau! Ví dụ, có thể so sánh chuỗi với số! Ngoài các phép so sánh trên trong PHP còn có các phép toán so sánh tương tự ===, !==. Chúng ta sẽ xem xét kỹ hơn về các phép toán so sánh trong bài học về kiểu boolean. Một số hàm xử lý chuỗi ký tự trong PHPPHP cung cấp khá nhiều hàm xử lý chuỗi ký tự. Sau đây chúng ta sẽ xem xét những hàm cơ bản và thông dụng. Xác định độ dài chuỗiSử dụng hàm php > $name = "Donald"; php > echo strlen($name); 6 php > Xóa ký tự trốngXóa ký tự trống là một bước trong quá trình chuẩn hóa xâu ký tự trước khi xử lý. PHP tự động coi dấu cách, dấu tab \t, ký tự xuống dòng \n, ký tự chuyển về đầu dòng \r, NUL-byte \0, dấu tab đứng \x0B là ký tự trống. PHP cung cấp các hàm
php > $name = ' Donald '; php > echo $name; Donald php > echo trim($name); Donald php > Các hàm này nhận tham số thứ hai (không bắt buộc) là chuỗi chứa các ký tự cần xóa (nếu gặp ở đầu/cuối chuỗi): php > $name ='aaDonaldbb'; php > echo trim($name, 'ab'); Donald php > Chuyển đổi hoa/thườngPHP cung cấp các hàm chuyển đổi hoa thường sau: strtolower(), strtoupper(), ucfirst(), ucwords(). php > $str = 'Hello world from PHP'; php > echo strtoupper($str); // viết hoa toàn bộ chuỗi HELLO WORLD FROM PHP php > echo strtolower($str); // viết thường toàn bộ chuỗi hello world from php php > echo ucfirst($str); // viết hoa chữ cái đầu tiên Hello world from PHP php > echo ucwords($str); // viết hoa chữ cái đầu của từng từ trong câu Hello World From PHP php > Trích chuỗi conCó thể trích một phần của chuỗi ra một biến mới bằng hàm substr(): $str = substr(string, start [, length]); Trong đó: start là vị trí bắt đầu lấy, length là số ký tự cần lấy. Hàm substr() không làm thay đổi xâu gốc. php > $name = 'Donald Trump'; php > $fname = substr($name, 0, 6); // trích từ chỉ số 0, lấy 6 ký tự php > echo $fname; Donald php > $lname = substr($name, 7); // trích từ chỉ số 7 php > echo $lname; Trump php > Tìm kiếm trong chuỗiTìm-và-thay-thế là yêu cầu rất thường gặp trong xử lý văn bản. PHP cung cấp hàm strpos() để xác định vị trí của một xâu con trong một xâu khác: php > $str = 'Hello world, Donald! Welcome to heaven'; php > echo strpos($str, 'Donald'); 13 php > echo strpos($str, 'donald'); php > Hàm strpos() trả lại vị trí đầu tiên mà xâu con xuất hiện trong xâu lớn. Ở ví dụ trên, xâu ‘Donald’ xuất hiện ở vị trí số 13 trong xâu lớn $str. Nếu không tìm thấy xâu con, strpost trả lại false (dưới dạng một xâu trống). Một cách khác để tìm kiếm trong chuỗi là sử dụng hàm substr_count(): Hàm này trả lại số lần bắt gặp một chuỗi con $needle trong chuỗi lớn $haystack. Hãy xem ví dụ sau: php > $big_str = 'PHP programming for .NET programmer'; php > echo substr_count($big_str, 'program'); 2 php > Trong ví dụ trên, chuỗi con ‘program’ xuất hiện hai lần trong chuỗi lớn $big_str. Thay thế văn bản trong chuỗiPHP cung cấp hàm str_replace() cho công việc này. Hãy xem cách sử dụng hàm str_replace() qua ví dụ dưới đây: php > $greeting = 'Hello Donald. Welcome to heaven'; php > $obama_greeting = str_replace('Donald', 'Obama', $greeting); php > echo $obama_greeting; Hello Obama. Welcome to heaven php > Cú pháp của str_replace() như sau: function str_replace ($search, $replace, $subject, &$count = null) string|string[] Theo đó, 3 tham số bắt buộc là: $search – chuỗi cần tìm (để thay thế), $replace – chuỗi thay thế, $subject – chuỗi nguồn. Kết quả trả về là một chuỗi mới trong đó $replace đã thay thế cho $search. Kết luậnTrong bài học này chúng ta đã xem xét chi tiết cách làm việc với chuỗi ký tự trong PHP.
+ Nếu bạn thấy site hữu ích, trước khi rời đi hãy giúp đỡ site bằng một hành động nhỏ để site có thể phát
triển và phục vụ bạn tốt hơn. |