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 $count3[dấu nháy kép] và
$count = 1; echo 'The count is $count'; //Output: The count is $count4[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 $count5. 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 $count6 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 $count7. 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 $count8 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ỗiBạ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àyDấ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ư
1Và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ụ
4Và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ư
5Và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 đơnBạn cần thoát ký tự
12 nếu muốn đưa ký tự đó vào chuỗi. Ví dụ
8Và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
13Hai.
14 để thoát khỏi dấu gạch chéo ngược—ký tự thoát—trong chuỗiBạn đã có thể sử dụng
echo 'This is \'test\' string'; //Output: This is 'test' string1
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òngDấ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à
40echo 'This is \'test\' string'; //Output: This is 'test' string8
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 10
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 11
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
';
0Và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ì
42print '
- Flour - 300 grams
- Butter - 200 grams
- Water - 100 ml
';
1Và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
';
2Và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
';
3Và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
';
4Và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