Sự khác biệt giữa chuỗi trích dẫn đơn và chuỗi trích dẫn kép trong PHP là gì?

Cuối cùng, tôi sẽ nói về một con đường khác nhỏ mà chúng ta cần chú ý. Điều này có nghĩa là có một số khác biệt về cách sử dụng giữa

$count = 1;
echo 'The count is $count';
//Output: The count is $count
3[dấu nháy kép] và
$count = 1;
echo 'The count is $count';
//Output: The count is $count
4[dấu nháy đơn] trong PHP. Chúng tôi không thể viết một biến trong các giá trị mà chúng tôi sẽ cung cấp bằng dấu nháy đơn, hãy lấy ví dụ minh họa


Màn hình hiển thị

$count = 1;
echo 'The count is $count';
//Output: The count is $count
5. Bởi vì chúng tôi đã viết biến trong dấu ngoặc đơn. Đó là lý do tại sao nó nhìn nó giống như một chuỗi hơn là một biến. Nếu bạn muốn in biến
$count = 1;
echo 'The count is $count';
//Output: The count is $count
6 thì bạn làm như ví dụ trong bài viết này

Sự kiện này chỉ hợp lệ cho dấu nháy đơn. Trong ngoặc kép, tình huống này khác. Nó viết các giá trị của các biến. Điều đó có nghĩa là, chúng ta có thể kết hợp các biến trong dấu ngoặc kép mà không cần sử dụng toán tử dấu chấm. Đây là một ví dụ


Lưu ý rằng chúng tôi đã sử dụng giống như ví dụ trước, nhưng chỉ có dấu ngoặc kép, không có dấu nháy đơn trong biến thông báo. Và trong trường hợp này, màn hình sẽ báo

$count = 1;
echo 'The count is $count';
//Output: The count is $count
7. Bởi vì nó trả về các giá trị của các biến được viết trong dấu ngoặc kép. Nhưng đây không phải là trường hợp với một trích dẫn

Mục tiêu ở đây là đảm bảo rằng PHP không nghĩ rằng đó là một biến ở một số nơi mà chúng ta cần sử dụng ký hiệu đô la của riêng nó. Ví dụ, khi chúng ta muốn in

$count = 1;
echo 'The count is $count';
//Output: The count is $count
8 a ra màn hình, nếu chúng ta sử dụng dấu nháy kép thì PHP sẽ báo lỗi. Bởi vì ký hiệu đô la trong dấu ngoặc kép được coi là ký tự đặc biệt và biểu thức biến. Trong những trường hợp này, một dấu nháy đơn hoặc toán tử thoát được sử dụng

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

Đây là một bài viết tôi đã viết cách đây một thời gian trên blog cũ của mình khi tôi mới bắt đầu học PHP. Tôi sẽ đăng lại ở đây, trong trường hợp nó giúp được bất cứ ai. ]

Nếu bạn muốn lưu văn bản dưới dạng một biến hoặc hiển thị nó trên màn hình [ví dụ:

print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
5 hoặc
print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
6], bạn phải đặt văn bản trong dấu ngoặc kép. Bao quanh văn bản bằng dấu ngoặc kép làm cho văn bản đó trở thành một chuỗi

Bạn có thể sử dụng dấu ngoặc đơn [

print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
7] hoặc dấu ngoặc kép [
print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
8], nhưng có một số điểm khác biệt quan trọng mà tôi sẽ đề cập trong bài đăng này

Dấu nháy đơn

Dấu ngoặc đơn là cách đơn giản nhất để tạo chuỗi. Chúng chỉ hiển thị những gì chúng được cung cấp, không có chuông và còi, không có "quyền hạn" đặc biệt nào như có thể hiển thị các giá trị thay đổi [xem bên dưới trong phần Dấu ngoặc kép]

// Using single quotes to save a string in a variable:
$recipe_title = 'Meatball Spaghetti';

// Using single quotes to write something on the screen:
echo '

Meatball Spaghetti

'
; // The line above will get output as-is in your code: Meatball Spaghetti

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ngắt dòng với dấu nháy đơn

Nếu bạn cần hiển thị văn bản trên nhiều dòng, bạn có thể sử dụng ngắt dòng trong dấu ngoặc kép để đạt được điều này. Ví dụ

print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Điều này sẽ được xuất ra như


1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Nếu bạn cố gắng sử dụng nhiều 

print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
6 hoặc 
print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
5 trên nhiều dòng, nó sẽ không hoạt động theo cùng một cách. Ví dụ


4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Điều này sẽ được xuất ra như


5

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ký tự đặc biệt và ký tự thoát với dấu nháy đơn

Bạn chỉ có hai lựa chọn khi nói đến dấu nháy đơn

Một.


11 để thoát khỏi một trích dẫn trong một chuỗi trích dẫn đơn

Bạn cần thoát ký tự 


12 nếu muốn đưa ký tự đó vào chuỗi. Ví dụ


8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Điều này sẽ xuất đúng những điều sau đây mà không gây ra lỗi


13

Hai.


14 để thoát khỏi dấu gạch chéo ngược—ký tự thoát—trong chuỗi

Bạn đã có thể sử dụng

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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Để in


15

*Có thể tùy thuộc vào trình biên dịch, nhưng khi tôi thử nghiệm tính năng này, 


16 dường như cũng tự hoạt động. Tuy nhiên, nếu vì lý do nào đó mà bạn muốn hiển thị 

14, bạn có thể cần phải sử dụng thứ gì đó như

18 hoặc 

19. Vì nó là một ký tự đặc biệt, nên có lẽ tốt nhất là thoát khỏi nó đề phòng

Dấu ngoặc kép

Một điểm khác biệt lớn giữa dấu ngoặc kép so với dấu ngoặc đơn là bạn có thể sử dụng dấu ngoặc kép để bao gồm các biến trực tiếp bên trong chuỗi. Nếu bạn sử dụng dấu ngoặc đơn, bạn sẽ phải nối các phần lại với nhau. Hãy xem một ví dụ

Giả sử bạn có công thức nấu ăn và bạn lưu tiêu đề vào một biến có tên là


40

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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Nếu bạn muốn tạo HTML cho các tiêu đề công thức sao cho chúng trông như thế này [và bạn không nhúng trực tiếp PHP vào các tệp HTML, trong đó bạn có thể sử dụng các thẻ


41 để thay thế các biến]

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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sử dụng dấu ngoặc đơn, bạn cần thêm các phần khác nhau lại với nhau

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

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Tuy nhiên, với dấu ngoặc kép, bạn có thể đặt biến trực tiếp bên trong dấu ngoặc kép

print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
0

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Cả hai phương pháp đều hoạt động tốt, nhưng sử dụng dấu ngoặc kép có thể giúp bạn tránh được một số rắc rối

Mẹo chuyên nghiệp

Sử dụng dấu ngoặc nhọn để chỉ định rõ ràng phần cuối của tên biến khi phân tích nó thành chuỗi trích dẫn kép

Việc cố gắng in 2 cốc trên dòng 2 bên dưới sẽ báo lỗi cho bạn vì mã cho rằng tên biến là $unit_cups thay vì


42

print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
1

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Để tránh những lỗi như thế này, bạn có thể đặt tên biến trong cặp ngoặc nhọn như vậy

print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
2

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bạn cũng có thể thực hiện một số thao tác phức tạp hơn ngay trong dấu ngoặc kép, nhưng điều đó nằm ngoài phạm vi của bài viết này. Để tìm hiểu thêm về cách phân tích cú pháp các thao tác phức tạp trong dấu ngoặc kép, hãy xem các ví dụ trong hướng dẫn sử dụng PHP

--

Nhân tiện, giống như dấu nháy đơn, bạn có thể thêm dấu ngắt dòng vào đầu ra của mình bằng cách bao gồm dấu ngắt dòng trong chuỗi. Ví dụ,

print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
3

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

hiển thị

print '
  • Flour - 300 grams
  • Butter - 200 grams
  • Water - 100 ml
'
;
4

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Ký tự đặc biệt và ký tự thoát với dấu ngoặc kép

Dấu ngoặc kép cung cấp cho bạn nhiều ký tự đặc biệt hơn để làm việc với dấu nháy đơn, bao gồm cả ký tự ngắt dòng

  • 
    
    43 cho một dòng mới
  • 
    
    44 cho một tab
  • 
    
    45 để trả lại xe ngựa
  • 
    
    46 cho ký hiệu đô la [nếu không nó có thể bị nhầm là biến]
  • 
    
    47 cho một trích dẫn kép
  • Xem thêm trong Cẩm nang PHP

Tôi nên sử dụng cái gì?

Nói chung, bạn sử dụng một trong hai hoặc, nhưng bạn phải nhất quán với loại bạn sử dụng và thời điểm sử dụng. Ví dụ: bạn có thể chọn sử dụng dấu nháy đơn theo mặc định trừ khi bạn cần sử dụng biến hoặc ký tự đặc biệt trong chuỗi

Bạn có thể nghĩ rằng vì dấu ngoặc kép cung cấp cho bạn nhiều tính năng hơn, nên sử dụng chúng mọi lúc sẽ tốt hơn, nhưng dấu ngoặc đơn có lẽ tốt hơn cho các chuỗi đơn giản vì bạn không cần thoát các ký tự đặc biệt như ký hiệu đô la

Sự khác biệt giữa dấu ngoặc đơn và dấu ngoặc kép là gì?

Quy tắc sử dụng chung . Dấu ngoặc đơn được sử dụng để đặt một câu trích dẫn trong một câu trích dẫn, một câu trích dẫn trong một tiêu đề hoặc một tiêu đề trong một câu trích dẫn. double quotes are used to denote direct speech. Single quotes are used to enclose a quote within a quote, a quote within a headline, or a title within a quote.

Sự khác biệt trong các chuỗi được viết trong dấu ngoặc đơn và dấu ngoặc kép là gì?

Sự khác biệt chính giữa dấu ngoặc kép và dấu ngoặc đơn là bằng cách sử dụng dấu ngoặc kép, bạn có thể bao gồm các biến trực tiếp trong chuỗi . Nó diễn giải các chuỗi Escape. Mỗi biến sẽ được thay thế bằng giá trị của nó.

Sự khác biệt giữa trích dẫn đơn và trích dẫn kép trong Dart là gì?

Không có sự khác biệt giữa hành vi dấu ngoặc đơn và dấu ngoặc kép trong Dart . Nội suy, thoát, \n và các điểm mã hoạt động giống nhau trong cả hai dấu ngoặc kép.

Sự khác biệt giữa trích dẫn đơn và trích dẫn kép trong SQL là gì?

Dấu ngoặc kép được sử dụng để chỉ định danh trong cơ sở dữ liệu, là các đối tượng như bảng, tên cột và vai trò. Ngược lại, dấu ngoặc đơn được sử dụng để biểu thị chuỗi ký tự .

Chủ Đề