Hướng dẫn dùng reserced trong PHP

Phần tử danh sách (list) được sử dụng rất thường xuyên trong một tài liệu web bằng HTML. Trong một trang web thường người ta sử dụng các phần tử danh sách rất nhiều, chẳng hạn như menu, danh sách những thông tin nào đó,…v…v…đều được tạo ra bởi các thẻ tạo danh sách trong HTML.

Trong HTML có ba kiểu danh sách (list type) đó là kiểu sắp xếp (ordered list), kiểu không sắp xếp (unordered list) và kiểu danh sách mô tả (description list). Cụ thể:

  • Kiểu sắp xếp (Ordered List): Là kiểu hiển thị một danh sách mà các mục con của nó được sắp xếp theo thứ tự bằng số hoặc chữ cái.
  • Kiểu không sắp xếp (Unordered List): Là kiểu hiển thị danh sách mà các mục con của nó sẽ không được sắp xếp theo thứ tự mà chỉ được đánh dấu bằng một ký tự đặc trưng.
  • Kiểu mô tả (Description List): Là kiểu hiển thị danh sách mà các mục con của nó sẽ không được đánh dấu thứ tự, nhưng sẽ có kèm theo một đoạn miêu tả.

Dưới đây là hình ảnh sự khác nhau giữa ba kiểu danh sách do W3School mô tả:

Hướng dẫn dùng reserced trong PHP

Ordered List

Để khai báo một danh sách với kiểu được sắp xếp, bạn phải bắt đầu bằng cặp thẻ

. Bên trong cặp thẻ này sẽ là danh sách các mục con, mỗi mục sẽ đặt trong cặp thẻ
  • , xem ví dụ bên dưới.

    Xem ví dụ: http://codepen.io/thachpham92/pen/QwPewe/

    Thẻ

       cũng hỗ trợ thêm một thuộc tính nữa tên làtype, thuộc tính này là để bạn thiết lập kiểu sắp xếp các mục con bên trong danh sách. Giá trị của thuộc tính type là 1, i, I, a, A.

      Unordered List

      Giống như Ordered List, kiểu danh sách Unordered List sẽ bắt đầu bằng cặp thẻ

       và bên trong nó các mục con sẽ được khai báo bằng cặp thẻ
    1. .

      Xem ví dụ: http://codepen.io/thachpham92/pen/wBZVvO/

      Bạn cũng có thể thay đổi kiểu hiển thị của thẻ

         bằng cách thêm thuộc tính style với thuộc tính CSS là list-style-type và giá trị làdisc,square, circle vànone.

        Description List

        Với kiểu danh sách này thì cách viết thẻ hơi khác một tí, đó là nó sẽ bắt đầu danh sách bằng cặp thẻ

        , trong đó tên mỗi mục con sẽ được khai báo bằng cặp thẻ
         và mô tả cho mục con sẽ được khai báo bằng cặp thẻ 
        .

        Xem ví dụ: http://codepen.io/thachpham92/pen/zxXgxo/

        Xếp chồng danh sách

        Trong HTML, bạn có thể tiến hành xếp chồng một danh sách vào nhiều tầng bằng cách lồng thêm một danh sách nữa vào cặp thẻ

      1.  của mục con mà bạn muốn thêm tầng cho nó, như ví dụ dưới đây.

        Xem ví dụ: http://codepen.io/thachpham92/pen/ogOKgo/

        Lời kết

        Quá dễ dàng để khai báo phần tử danh sách trong HTML phải không nào? Vốn dĩ HTML luôn dễ dàng như vậy mà. Cố gắng lên nào, chỉ còn vài phần tử quan trọng nữa thôi là bạn đã thành chuyên gia HTML rồi.

        Thạch Phạm

        Bé Thạch 18 tuổi, hiện công tác tại AZDIGI với vị trí giữ xe và viết thuê tại ThachPham.Com. Sở thích nghiên cứu về website, DevOps, SysAdmin và xăm mình nữa. Phương châm sống của bé là "No Pain, No Gain".

        Hiện tại blog tạm đóng bình luận vì mình cần tập trung thời gian vào cập nhật bài viết. Bình luận sẽ mở ra cho đến khi mình sẵn sàng.

        Thao tác với chuỗi (String) trong PHP là một kỹ năng cực kỳ quan trọng khi lập trình web với PHP.

        Nội dung chính

        • 1. Một chuỗi là gì? What is a String?
        • 2. Ví dụ về cách tạo một chuỗi trong PHP
        • 3. Tạo Chuỗi sử dụng dấu nháy đôi trong PHP
        • 4. PHP Heredoc
        • 5. PHP Nowdoc
        • 6. Ví dụ về 12 hàm thao tác với chuỗi thường gặp nhất trong PHP
        • 6.1. Ví dụ về hàm strtolower trong PHP
        • 6.2. Hàm strtoupper
        • 6.3. Hàm strlen
        • 6.4. Hàm explode
        • 6.5. Hàm substr
        • 6.6. Hàm str_replace
        • 6.7. Ví dụ về Hàm strpos trong PHP
        • 6.8. Hàm sha1
        • 6.9.  Hàm md5
        • 6.10. Hàm str_word_count
        • 6.11. Hàm ucfirst
        • 6.12. Hàm lcfirst
        • Tổng kết

        Hôm nay mình sẽ hướng dẫn bạn cách sử dụng 12 hàm thao tác với chuỗi thường gặp nhất trong PHP thông qua ví dụ cụ thể.

        Ví dụ về các hàm thao tác với chuỗi trong PHP

        1. Một chuỗi là gì? What is a String?

        Một chuỗi là một tập hợp các ký tự. Chuỗi là một trong số các kiểu dữ liệu (data types) được PHP hỗ trợ. 

        Chuỗi bao gồm cả ký tự và số. Chuỗi được tạo ra khi:

        • Bạn khai báo chuỗi và gán vào đó một chuỗi
        • Bạn có thể trực tiếp sử dụng chuỗi với echo.

        Chuỗi là ngôn ngữ kiến trúc. Nó giúp hình thành từ ngữ.

        Học làm thế nào làm việc với chuỗi trọng PHP và điều khiển chúng sẽ giúp bạn lập trình tốt hơn.

        2. Ví dụ về cách tạo một chuỗi trong PHP

        Bây giờ hãy xem 4 cách khác nhau để tạo ra một chuỗi.

        Tạo chuỗi bằng cách sử dụng dấu nháy đơn '  ' (Đây là cách đơn giản nhất để tạo ra một chuỗi)

        Hãy nhìn vào ví dụ tạo chuỗi bằng cách sử dụng dấu nháy đơn trong PHP dưới đây:

        Kết quả chúng ta nhận được sẽ là:

        Nếu dấu nháy đơn hoặc trong chuỗi có ký tự đặc biệt nào đó cần hiển thị. Ta sử dụng dấu \ trước ký tự đó như ví dụ bên dưới:

        Kết quả chúng ta nhận được:

        3. Tạo Chuỗi sử dụng dấu nháy đôi trong PHP

        Cặp dấu nháy đôi " " được sử dụng để tạo ra chuỗi tương đối phức tạp hơn so với dấu nháy đơn ' '

        Tên biến có thể được sử dụng trong đó và và giá trị của biến sẽ được hiển thị.

        Hãy thử xem một ví dụ:

        Giải thích một chút về chương trình:

        • Bạn ta tạo một biến $name có giá trị là NIIT - ICT Hà Nộiến
        • Biến $name sau đó được đặt vào trong câu lệnh echo (sử dụng dấu nháy đôi)
        • Giá trị của biến $name sẽ được nội suy trong quá trình chạy chương trình.

        Kết quả chúng ta nhận được như sau:

        Chính vì nó sẽ được nội suy nên nếu chúng ta đặt ký tự \n thì tại điểm đó chuỗi xuất ra sẽ tự động xuống dòng.

        Hoặc \\ để thêm dấu \ khi chương trình xuất chuỗi ra.

        Nếu không sử dụng dấu \ trước các ký tự đặc biệt thì chương trình sẽ ném cho chúng ta một lỗi, ví dụ:

        Đây là bởi vì khi thực thi, chương trình đã coi như $word là một biến. Và biến $word chúng ta chưa khai báo nên dẫn tới lỗi trong quá trình chạy.

        Nếu chúng ta muốn sử dụng dấu $ như là một ký tự và muốn xuất nó ra thì chúng ta sử dụng dấu \ ngay trước ký tự $ như ví dụ dưới đây:

        Kết quả chúng ta nhận được là:

        Như bạn thấy, mặc dù chúng ta đã khai báo và khởi tạo biến $word nhưng chương trình đã hiểu đúng là chúng ta cần xuất ký tự $ ra màn hình.

        4. PHP Heredoc

        Phương pháp heredoc được sử dụng để tạo ra chuỗi khá phức tạp so với dấu nháy đơn (hoặc nháy đôi). 

        Các heredoc hỗ trợ tất cả các đặc tính của nháy đôi và cho phép tạo chuỗi giá trị nhiều hơn một dòng mà không cần nối chuỗi.

        Sử dụng dấu nháy đôi để tạo chuỗi trên nhiều dòng sẽ tạo ra một lỗi.

        Nếu sử dụng Heredoc thì bạn có thể sử dụng cả dấu nháy đôi trong đó luôn.

        Ví dụ dưới đây mô tả cách Heredoc được sử dụng để tạo ra chuỗi.

        <<

        EOT; là thông báo cho chương trình kết thúc chuỗi.

        Giống như thẻ mở và thẻ đóng vậy. Bạn có thể đặt bất kỳ thứ gì bạn thích ở trong này.


        5. PHP Nowdoc

        Các Nowdoc tạo ra phương pháp tương tự như là heredoc nhưng hoạt động như cách dấu nháy đơn làm việc.

        Nội suy không diễn ra bên trong Nowdoc.

        Nowdoc là lý tưởng khi làm việc với dữ liệu thô không cần phải được phân tích.

        Ví dụ dưới đây sẽ cho bạn thấy cách Nowdoc hoạt động:

        Chúng ta nhận được kết quả:

        6. Ví dụ về 12 hàm thao tác với chuỗi thường gặp nhất trong PHP

        PHP đã tạo ra các hàm có sẵn để sử dụng thao tác với chuỗi. 

        Bây giờ chúng ta sẽ đi vào xem ví dụ về các hàm thao tác với chuỗi thường gặp nhất.

        6.1. Ví dụ về hàm strtolower trong PHP

        Hàm strtolower() sử dụng để chuyển đổi tất cả các ký tự trong chuỗi thành ký tự viết thường:

        6.2. Hàm strtoupper

        Sử dụng để chuyển đổi tất cả các ký tự từ chữ thường sang chữ Hoa

        6.3. Hàm strlen

        Hàm strlen sử dụng để tính số lượng ký tự có trong chuỗi. Khoảng trắng cũng được tính luôn.

        6.4. Hàm explode


        6.5. Hàm substr

        Hàm substr sử dụng để trả lại một phần của một chuỗi.

        Hàm substr chấp nhận 3 tham số.

        • Tham số đầu tiên chuỗi truyền vào
        • Tham số thứ hai là vị trí của điểm bắt đầu
        • Tham số thứ ba số là số ký tự tính từ điểm bắt đầu cần lấy

        6.6. Hàm str_replace

        Hàm str_replace sử dụng để xác định vị trí và thay thế chuỗi trong một chuỗi khác.

        Hàm str_replace sử dụng 3 tham số:

        • Đầu tiên, chuỗi cần phải thay thế ra
        • Thứ hai là chuỗi cần thay thế vào
        • Thứ ba đoạn văn bản.

        Code ví dụ:

        6.7. Ví dụ về Hàm strpos trong PHP

        Hàm strpos sử dụng để xác định vị trí bắt đầu của một chuỗi trong một chuỗi khác.

        Giá trị trả về của hàm strpos: Vị trí xuất hiện đầu tiên của một chuỗi bên trong một chuỗi khác hoặc FALSE nếu không tìm thấy chuỗi.

        Lưu ý: Vị trí chuỗi bắt đầu từ 0 chứ không phải 1.

        Cú pháp hàm strpos():

        strpos(string,find,start)

        • string: chuỗi nhỏ cần tìm kiếm vị trí đầu tiên của nó
        • find: Chuỗi lớn mà có thể chứa chuỗi cần tìm
        • start: Đây là một tùy chọn, chị định vị trí bắt đầu tìm kiếm

        Code ví dụ về hàm strpos trong PHP:

        Ở ví dụ trên thì bạn biết được một chuỗi nằm trong một chuỗi khác bắt đầu từ vị trí bao nhiêu.

        Tuy nhiên, Để sử dụng kết quả này chúng ta cũng cần lưu ý một chút, để hiểu rõ hơn strpos hãy đi vào ví dụ:

        Lưu ý rằng việc sử dụng điều kiện !== false là có chủ ý vì:

        Hàm strpose() trả về giá trị chuỗi con bắt đầu trong chuỗi lớn hoặc giá trị boolean false nếu không tìm thấy.

        Vì vị trí đầu tiên sẽ trong chuỗi là 0 và vị trí 0 vẫn hợp lệ, hơn nữa 0 là falsy value, nên chúng ta không thể sử dụng các cấu trúc đơn giản hơn như là !Strpose ($ a, 'là') hay là !=.

        Nếu bạn sử dụng != false thì kết quả sẽ bị sai, ví dụ:

        Lưu ý là Hàm strpos trong PHPphân biệt hoa thường nên khi so sánh phải lưu ý, nếu không bạn cũng sẽ nhận được kết quả không mong muốn.

        Khi kiểm tra bạn cũng cần lưu ý thêm một điều, ví dụ:

        Chuỗi 'là' có trong 'Bạn tên là gì?' nhưng cũng có trong chuỗi 'Bạn ở làng nào?'

        Để kiểm tra riêng biệt một từ riêng biệt thì mình khuyên bạn nên truyền thêm dấu cách, ví dụ như ' là '

        Một số hàm liên quan với hàm strpos() trong PHP:


        • Hàm stripos() - Tìm vị trí xuất hiện đầu tiên của chuỗi bên trong chuỗi khác (không phân biệt chữ hoa chữ thường)
        • Hàm strrpose() - Tìm vị trí của lần xuất hiện cuối cùng của chuỗi bên trong chuỗi khác (phân biệt chữ hoa chữ thường) 
        • Hàm strripos() - Tìm vị trí xuất hiện cuối cùng của một chuỗi bên trong một chuỗi khác (không phân biệt chữ hoa chữ thường)

        Cách sử dụng các hàm này cũng tương tự hàm strpos nhưng với mục đích khác nhau đã được PHP cung cấp sẵn.

        Bạn cũng có thể sử dụng Biểu thức chính quy để xác định xem một chuỗi có tồn tại trong chuỗi khác hay không.

        >>> Xem ngay bài Biểu thức chính quy trong PHP

        Tuy nhiên, về hiệu năng thì bài toán

        sử dụng 1 triệu so sánh cùng một lúc, hàm preg_match sử dụng biểu thức chính quy mất 1.5s trong khi hàm strpos chỉ mất khoảng 0.5s.

        Còn về mặt kỹ thuật, câu hỏi hỏi "Làm thế nào để tìm các từ" không phải là một chuỗi con. Thì biểu thức chính quy có thể sẽ hữu ích hơn.


        6.8. Hàm sha1

        Hàm sha1 sử dụng để băm một chuỗi sang SHA-1

        Code ví dụ:

        6.9.  Hàm md5

        Hàm md5 được sử dụng để băm một chuỗi sang chuẩn md5

        6.10. Hàm str_word_count

        Hàm str_word_count được sử dụng để đếm các từ có trong một chuỗi.

        Code ví dụ:

        6.11. Hàm ucfirst

        Hàm ucfirst được sử dụng để chuyển chữ cái đầu tiên của mỗi từ thành chữ Hoa.

        Code ví dụ:

        6.12. Hàm lcfirst

        Hàm lcfirst được sử dụng để biến chữ cái đầu của chuỗi thành chữ thường.

        Code ví dụ:

        Bạn có thể tìm hiểu kỹ hơn về tất cả các hàm thao tác với chuỗi đã được PHP cung cấp sẵn tại đây: PHP String Functions

        Tổng kết

        Như vậy, qua bài này các bạn đã biết 4 cách tạo chuỗi trong PHP và tìm hiểu 12 hàm thao tác với chuỗi thường gặp nhất trong PHP

        • Tham khảo: 15+ Hàm thao tác với chuỗi thường gặp nhất trong Javascript

        Hãy thử tìm hiểu thêm các hàm thao tác với chuỗi trong PHP trong tài liệu chuẩn của PHP.NET. Bạn có thể sẽ tìm thấy nhiều giải pháp bất ngờ mà bạn chưa từng nghĩ là chúng đã được dựng sẵn.

        >>> Tham gia ngay khóa học Lập trình Web với PHP tại NIIT - ICT Hà Nội để học từ cơ bản đến nâng vào về Web PHP.