Tôi nên sử dụng dấu ngoặc đơn hay dấu ngoặc kép trong PHP?

Sự khác biệt duy nhất ở đây là xử lý các biến được đặt bên trong dấu ngoặc kép. Hãy xem ví dụ đơn giản này

Như bạn có thể thấy trong dấu ngoặc kép, các biến được xử lý và trong dấu ngoặc đơn thì không.
Nhưng tôi nên sử dụng cái nào?

Dấu ngoặc đơn phải nhanh hơn, phải không?

Cách đây một thời gian, tôi chỉ sử dụng các trích dẫn đơn cho các chuỗi trong PHP. Tôi nghĩ rằng nếu dấu ngoặc đơn chỉ là chuỗi và dấu ngoặc kép được xử lý bởi PHP thì dấu ngoặc đơn phải nhanh hơn. Không còn cách nào khác - nếu thứ gì đó không được xử lý thì nó phải nhanh hơn thứ gì đó được xử lý. Và tôi đã thuyết phục mọi người rằng dấu ngoặc đơn là cách thích hợp duy nhất để sử dụng với chuỗi. Tôi thậm chí đã có một cuộc tranh luận về nó

Hoặc có thể…

Nhưng cách đây một thời gian, tôi đã đọc ở đâu đó (có thể trên facebook?) rằng dấu ngoặc kép nhanh hơn vì chúng luôn được cải thiện và dấu nháy đơn giống như từ đầu. Nghe có vẻ hợp lý với tôi, vì vậy tôi mới bắt đầu sử dụng dấu ngoặc kép ở mọi nơi

Nhưng một ngày nọ, đồng nghiệp của tôi hỏi tôi tại sao bạn lại sử dụng dấu ngoặc kép? . Bởi vì tôi không kiểm tra nó…

Hãy cùng kiểm tra nào

Vì vậy, hôm nay tôi muốn kiểm tra nó và kết thúc chủ đề này một lần và mãi mãi. Tôi đã viết tập lệnh đơn giản, đo thời gian bằng hàm `microtime(true);` và kiểm tra hiệu suất của dấu ngoặc đơn và dấu ngoặc kép

Các chuỗi trong PHP có thể được chỉ định theo bốn cách khác nhau. trích dẫn đơn, trích dẫn kép, cú pháp heredoc và (kể từ PHP 5. 3. 0) cú pháp nowdoc, hai cú pháp đầu tiên được sử dụng thường xuyên nhất

Điều quan trọng là phải biết sự khác biệt giữa việc sử dụng dấu ngoặc đơn và dấu ngoặc kép. Trong bài đăng này, chúng ta sẽ thấy sự khác biệt giữa chúng và cái nào nên được sử dụng khi

Chuỗi trích dẫn đơn là cách dễ nhất để chỉ định chuỗi. Phương thức này được sử dụng khi chúng ta muốn chuỗi chính xác như được viết. Khi chuỗi được chỉ định trong dấu nháy đơn, PHP sẽ không đánh giá nó hoặc diễn giải các ký tự thoát ngoại trừ dấu nháy đơn có dấu gạch chéo ngược (‘) và dấu gạch chéo ngược (\) phải được thoát

echo 'This is \'test\' string';
//Output: This is 'test' string

Trong các chuỗi trích dẫn kép, các chuỗi thoát khác cũng được diễn giải, bất kỳ biến nào cũng sẽ được thay thế bằng giá trị của chúng

$count = 1;
echo "The count is $count";
//Output: The count is 1

Nếu chúng ta sử dụng dấu ngoặc đơn thay vì dấu ngoặc kép cho ví dụ trên thì nó sẽ như thế này

$count = 1;
echo 'The count is $count';
//Output: The count is $count

Tôi khuyên bạn nên sử dụng dấu ngoặc đơn (‘ ‘) cho chuỗi trừ khi chúng ta cần dấu ngoặc kép (” “). Điều này là do dấu ngoặc kép buộc PHP phải đánh giá chuỗi (mặc dù có thể không cần thiết), trong khi chuỗi giữa các dấu ngoặc đơn không được đánh giá. Ngoài ra, phân tích các biến giữa các chuỗi chiếm nhiều bộ nhớ hơn nối

Trong PHP, chúng tôi sử dụng dấu ngoặc kép để chỉ định giá trị là một chuỗi ký tự. Có hai loại báo giá khác nhau. Chúng là dấu ngoặc đơn, dấu ngoặc kép

echo 'This is \'test\' string';
//Output: This is 'test' string
5 và dấu ngoặc kép
echo 'This is \'test\' string';
//Output: This is 'test' string
6. Tuy nhiên, chúng tôi có thể chỉ định chuỗi ký tự bằng cách sử dụng cú pháp chuỗi như
echo 'This is \'test\' string';
//Output: This is 'test' string
7 và
echo 'This is \'test\' string';
//Output: This is 'test' string
8. Trong bài viết này, chúng tôi sẽ tập trung vào các trích dẫn. Chúng ta có thể bọc các chuỗi ký tự bằng dấu ngoặc đơn hoặc kép để biểu thị giá trị dưới dạng chuỗi. một ví dụ đã được biểu diễn ở dưới

Mã ví dụ


đầu ra

Trong ví dụ trên, việc sử dụng cả hai trích dẫn dường như giống nhau. Nhưng đó không chỉ là trường hợp. Chức năng của các trích dẫn là như nhau, nhưng có một sự khác biệt trong cách chúng hoạt động. Chúng tôi sẽ thảo luận về sự khác biệt đáng kể giữa dấu ngoặc đơn và dấu ngoặc kép bên dưới

Sự khác biệt giữa Trích dẫn đơn và Trích dẫn kép trong quá trình nội suy chuỗi và biến trong PHP

Sự khác biệt đáng kể nhất giữa dấu ngoặc đơn và dấu ngoặc kép nằm khi chúng ta nội suy chuỗi và biến. Trích dẫn đơn không nội suy chuỗi và các biến. Nội dung bên trong trích dẫn đơn in ra chính xác như nó vốn có. Trong hầu hết các trường hợp, không có phần tổng hợp của bất kỳ biến hoặc chuỗi thoát nào bên trong dấu nháy đơn

Tuy nhiên, trong trường hợp trích dẫn kép, biến được viết bên trong dấu ngoặc kép sẽ được nội suy với chuỗi. Nó có nghĩa là biến trong chuỗi sẽ được đánh giá. Do đó, rất dễ sử dụng dấu ngoặc kép khi nội suy chuỗi và các biến. Ưu điểm của dấu nháy kép so với dấu nháy đơn là chúng ta không cần nối chuỗi và biến bằng toán tử

echo 'This is \'test\' string';
//Output: This is 'test' string
9. Tuy nhiên, vì các biến cần được đánh giá trong chuỗi, nên sử dụng dấu nháy kép sẽ chậm hơn một chút so với sử dụng dấu nháy đơn

Ví dụ: tạo một biến


0 và viết chuỗi

1 vào đó. Tiếp theo, viết chuỗi

2 và đặt chuỗi đó bằng dấu ngoặc kép. Sử dụng hàm

3 để in chuỗi. Tương tự, kèm theo chuỗi chính xác với một trích dẫn trong dòng sau

Mã ví dụ


đầu ra

echo 'This is \'test\' string';
//Output: This is 'test' string
0

Như đầu ra cho thấy, biến


0 được đánh giá bằng cách sử dụng dấu ngoặc kép. Trong khi sử dụng trích dẫn đơn, chuỗi được in theo cách của nó. Đây là một trong những điểm khác biệt đáng kể giữa dấu ngoặc đơn và dấu ngoặc kép trong PHP

Sự khác biệt giữa Trích dẫn đơn và Trích dẫn kép khi thoát dấu nháy đơn trong PHP

Phần này sẽ thảo luận về chuỗi thoát sử dụng dấu ngoặc kép và dấu nháy đơn trong PHP. Các trình tự thoát có thể được sử dụng bên trong dấu ngoặc kép để thoát các ký tự. Trong khi đó, hầu hết các chuỗi thoát không được diễn giải trong một trích dẫn. Tuy nhiên, có một ngoại lệ để thoát khỏi dấu nháy đơn

Không cần thoát khỏi dấu nháy đơn nếu chúng ta viết dấu nháy đơn trong chuỗi khi sử dụng dấu nháy kép. Tuy nhiên, trong trường hợp trích dẫn đơn lẻ, chúng ta cần thoát nó bằng cách sử dụng


5. Ví dụ được hiển thị dưới đây

Mã ví dụ


đầu ra

echo 'This is \'test\' string';
//Output: This is 'test' string
4

Trong đoạn mã trên, rõ ràng là dấu nháy đơn không được thoát bằng cách sử dụng dấu ngoặc kép. Dấu ngoặc kép cũng được thoát bên trong dấu ngoặc kép bằng ký tự thoát. Trong khi đó, trong trường hợp trích dẫn đơn, dấu nháy đơn được thoát bằng ký tự thoát. Trong trường hợp sau, dấu ngoặc kép không thoát khi sử dụng ký tự thoát

Khi nào sử dụng dấu nháy đơn trong PHP?

Dấu nháy đơn hoặc kép trong lập trình PHP dùng để định nghĩa một chuỗi. Nhưng, có rất nhiều sự khác biệt giữa hai. Chuỗi trích dẫn đơn. Đây là cách dễ nhất để xác định một chuỗi. Bạn có thể sử dụng nó khi bạn muốn chuỗi chính xác như được viết .

Tôi nên sử dụng mã hóa dấu nháy đơn hay kép?

Cả dấu ngoặc đơn (' ') và dấu ngoặc kép (" ") đều được sử dụng để biểu thị một chuỗi trong Javascript . Chọn một phong cách trích dẫn là tùy thuộc vào bạn và không có ngữ nghĩa đặc biệt nào cho phong cách này so với phong cách kia. Tuy nhiên, điều quan trọng cần lưu ý là không có loại ký tự đơn nào trong javascript, mọi thứ luôn là một chuỗi.

Bạn có thể sử dụng dấu nháy đơn cho chuỗi trong PHP không?

Trích dẫn đơn ¶ . Để chỉ định một trích dẫn đơn theo nghĩa đen, hãy thoát nó bằng dấu gạch chéo ngược ( \ ). The simplest way to specify a string is to enclose it in single quotes (the character ' ). To specify a literal single quote, escape it with a backslash ( \ ).

Sử dụng dấu nháy đơn có ổn không?

Trong tiếng Anh Mỹ, không được dùng dấu ngoặc đơn để trích dẫn, nhấn mạnh, châm biếm, chỉ thuật ngữ chuyên ngành hoặc chỉ tiêu đề. Single quotation marks should only be used when quoting within another quote, like the example above, or for a quote within a news headline.