tek4

Chuỗi ký tự trong PHP

by - September. 21, 2021
Kiến thức
Học
<p><img class="aligncenter wp-image-7892 size-full" src="https://tek4.vn/wp-content/uploads/2021/01/Capture-167.png" alt="Chuỗi k&yacute; tự trong PHP" width="750" height="441" /></p> <p>Chuỗi k&yacute; tự trong PHP l&agrave; một kh&aacute;i niệm quan trong khi lập tr&igrave;nh. Trong b&agrave;i viết n&agrave;y, ta sẽ c&ugrave;ng t&igrave;m hiểu về kh&aacute;i niệm n&agrave;y c&ugrave;ng với v&iacute; dụ dẫn chứng.</p> <h1>Chuỗi k&yacute; tự</h1> <p>Chuỗi k&yacute; tự trong PHP l&agrave; một chuỗi c&aacute;c k&yacute; tự, tức l&agrave;, được sử dụng để lưu trữ v&agrave; thao t&aacute;c với đoạn văn bản. PHP chỉ hỗ trợ bộ 256 k&yacute; tự. C&oacute; 4 c&aacute;ch để định nghĩa một chuỗi k&yacute; tự trong PHP.</p> <ol> <li>Dấu nh&aacute;y đơn</li> <li>Dấu nh&aacute;y k&eacute;p</li> <li>C&uacute; ph&aacute;p Heredoc</li> <li>C&uacute; ph&aacute;p Nowdoc</li> </ol> <h2>1. Sử dụng dấu nh&aacute;y đơn</h2> <p>Ch&uacute;ng ta c&oacute; thể tạo một chuỗi k&yacute; tự trong PHP bằng c&aacute;ch đặt một chuỗi c&aacute;c k&yacute; tự trong một dấu nh&aacute;y đơn. Đ&acirc;y l&agrave; c&aacute;ch dễ nhất để chỉ định chuỗi trong PHP.</p> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php&nbsp; $a = 'Xin chao cac ban!';&nbsp; echo $a;&nbsp; ?&gt;</pre> <p>Kết quả:</p> <pre>Xin chao cac ban!</pre> <p>V&iacute; dụ 2:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = 'Anh ay noi rang: \'Toi ten la Nam\' '; echo $a; ?&gt;</pre> <p>Kết quả:</p> <pre>Anh ay noi rang: 'Toi ten la Nam'</pre> <p>Trong đoạn m&atilde; tr&ecirc;n, ta đ&atilde; sử dụng k&yacute; hiệu (\&rsquo;) để th&ecirc;m dấu nh&aacute;y đơn trong chuỗi k&yacute; tự. Bởi nếu ta sử dụng l&agrave;:</p> <pre class="EnlighterJSRAW" data-enlighter-language="generic">$a = 'Anh ay noi rang: 'Toi ten la Nam' ';</pre> <p>Tr&igrave;nh bi&ecirc;n dịch sẽ b&aacute;o lỗi c&uacute; ph&aacute;p. Như vậy, nếu ta muốn th&ecirc;m dấu nh&aacute;y đơn hoặc dấu nh&aacute;y k&eacute;p trong một chuỗi k&yacute; tự, ta sẽ sử dụng k&yacute; hiệu (\") hoặc (\').</p> <h2>2. Sử dụng dấu nh&aacute;y k&eacute;p</h2> <p>Trong PHP, ch&uacute;ng ta cũng c&oacute; thể chỉ định chuỗi k&yacute; tự th&ocirc;ng qua việc th&ecirc;m dấu nh&aacute;y k&eacute;p quanh chuỗi k&yacute; tự m&agrave; ta muốn.</p> <p>V&iacute; dụ 1:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = "Xin chao cac ban!"; echo $a; ?&gt;</pre> <p>Kết quả:</p> <pre>Xin chao cac ban!</pre> <p>V&iacute; dụ 2:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = "Anh ay noi rang: 'Toi ten la John'"; echo $a; ?&gt;</pre> <p>Kết quả:</p> <pre>Anh ay noi rang: 'Toi ten la John'</pre> <p>Trong đoạn m&atilde; tr&ecirc;n, v&igrave; ta đ&atilde; sử dụng dấu nh&aacute;y k&eacute;p cho chuỗi k&yacute; tự, do đ&oacute; ta c&oacute; thểm dấu nh&aacute;y đơn cho chuỗi đ&oacute;. Tuy nhi&ecirc;n, ta kh&ocirc;ng thể sử dụng dấu nh&aacute;y k&eacute;p tương tự, bởi nếu kh&ocirc;ng, tr&igrave;nh bi&ecirc;n dịch sẽ b&aacute;o lỗi.</p> <p>V&iacute; dụ 3:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = "Anh ay noi rang: "Toi ten la John""; echo $a; ?&gt;</pre> <p>Trong đoạn m&atilde; tr&ecirc;n, ta đ&atilde; th&ecirc;m 2 cặp dấu nh&aacute;y k&eacute;p cho chuỗi k&yacute; tự. Vậy nếu ta muốn in ra kết quả l&agrave;: Anh ay noi rang: "Toi ten la John", th&igrave; sẽ như n&agrave;o? C&acirc;u trả lời đ&oacute; l&agrave; ta sẽ th&ecirc;m k&yacute; hiệu dấu gạch ch&eacute;o (\) ở đằng trước dấu nh&aacute;y k&eacute;p như trong v&iacute; dụ b&ecirc;n dưới.</p> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = "Anh ay noi rang: \"Toi ten la John\""; echo $a; ?&gt;</pre> <p>Kết quả:</p> <pre>Anh ay noi rang: "Toi ten la John"</pre> <h2>3. Sử dụng c&uacute; ph&aacute;p Heredoc</h2> <p>C&aacute;ch thứ ba để tạo c&aacute;c chuỗi k&yacute; tự l&agrave; c&uacute; ph&aacute;p heredoc.</p> <p>C&aacute;ch sử dụng như sau:</p> <p>Sau to&aacute;n tử &lt;&lt;&lt;, một t&ecirc;n định danh được cung cấp, sau đ&oacute; l&agrave; một d&ograve;ng mới. Chuỗi k&yacute; tự sẽ theo sau, v&agrave; sau đ&oacute; l&agrave; c&ugrave;ng một t&ecirc;n định danh để x&aacute;c định kết th&uacute;c chuỗi k&yacute; tự đ&oacute;. T&ecirc;n định danh để kết th&uacute;c chuỗi sẽ phải nằm ở đầu d&ograve;ng v&agrave; t&ecirc;n định danh để kết th&uacute;c sẽ theo l&agrave; dấu chấm phẩy (;) v&agrave; ngo&agrave;i ra th&igrave; kh&ocirc;ng c&ograve;n bất kỳ k&yacute; tự n&agrave;o kh&aacute;c nữa, kể cả khoảng trắng hay l&ugrave;i đầu d&ograve;ng.</p> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = &lt;&lt;&lt;AB Xin chao cac ban! AB; echo $a; ?&gt;</pre> <p>Kết quả:</p> <pre>Xin chao cac ban!</pre> <p>Trong đoạn m&atilde; tr&ecirc;n, sau to&aacute;n tử &lt;&lt;&lt; l&agrave; t&ecirc;n định danh, t&ecirc;n định danh ở đ&acirc;y l&agrave; AB v&agrave; kết th&uacute;c cho chuỗi k&yacute; tự cũng sẽ l&agrave; t&ecirc;n định danh AB v&agrave; sau n&oacute; l&agrave; dấu chấm phẩy (;)</p> <h2>4. Sử dụng c&uacute; ph&aacute;p Nowdoc</h2> <p>C&uacute; ph&aacute;p Nowdoc tương tự với c&uacute; ph&aacute;p Heredoc nhưng c&uacute; ph&aacute;p Nowdoc sẽ hoạt động giống với chuỗi k&yacute; tự được x&aacute;c định bằng dấu nh&aacute;y đơn, c&ograve;n Heredoc sẽ hoạt động giống với chuỗi k&yacute; tự được x&aacute;c định bằng dấu nh&aacute;y k&eacute;p.</p> <p>Một nowdoc được x&aacute;c định với c&ugrave;ng một to&aacute;n tử l&agrave; &lt;&lt;&lt; được sử dụng cho heredocs, nhưng t&ecirc;n định danh theo sau sẽ được đặt trong dấu nh&aacute;y đơn.</p> <p>V&iacute; dụ:</p> <pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php $a = &lt;&lt;&lt;'AB' Xin chao cac ban! AB; echo $a; ?&gt;</pre> <p>Kết quả:</p> <pre>Xin chao cac ban!</pre> <p>Tr&ecirc;n đ&acirc;y l&agrave; kh&aacute;i niệm v&agrave; v&iacute; dụ cơ bản về chuỗi k&yacute; tự trong PHP. Hy vọng mọi người c&oacute; thể &aacute;p dụng v&agrave;o trong chương tr&igrave;nh của m&igrave;nh. Mọi người h&atilde;y tiếp tục theo d&otilde;i c&aacute;c b&agrave;i tiếp theo v&agrave; cập nhật c&aacute;c b&agrave;i mới nhất tr&ecirc;n <a href="http://tek4.vn">tek4</a> nh&eacute;!</p> <p>P/s: Cảm ơn mọi người!</p>